定义指针的时候,*
两边的空格其实是可以选择的
如int* ptr
与int *ptr
都是一样的,甚至int*ptr
也是可以通过编译的,且含义一样
其区别是什么呢?
int *ptr
一般为C程序员使用,强调*ptr
是一个int类型的值
int* ptr
一般为C++程序员使用,强调int*
是一种类型----指向int
的指针、
值得注意的是int* p1,p2
中,p1
是指针,p2
是int
常量,每一个指针都必须要有一个*
字符
如int* pt = &higgens
就是将higgens
的地址值赋给pt
注意在使用指针时,一定要给指针初始化分配地址,如下所示;
long * fellow;
*fellow = 2233
在上述代码中,并没有为fellow
指定地址,因此fellow
可能会随机分配,有可能fellow
的存储地址会分配到程序代码地址中