那可以直接定义一个*i么?
追答不可以,指针必须要定义它指向的数据类型,作为指针的数据类型。
如int *i;
定义一个整型指针i。此时可以用*i表示指针i所指内存单元的内容,如*i=5代表把指针i所指单元的值赋值5。而i本身代表一个地址,如i=&a,代表把变量a的地址赋给i
指针是指向内存单元意思是不赋值不占用内存么?直接定义i即使不赋值也占用内存?
追答指针被定义后需要初始化,也就是分配相应的内存空间,才能够使用。而变量在定义时就分配了相应内存空间,赋值时直接向分配的内存内写入数据
追问也就是说定义的时候指针不占用内存,当赋值的时候就会占用了。