标准的声明和初始化:
int a=0;
int *p;
p=&a;
还可以这样:
int a=0,*p;
p=&a;
或这样:
int a=0;
int *p=&a;
再或者
int a=0,*p=&a;
注意int *p=&a;
和*p=a;
和*p=&a;
的区别,前两个是正确的最后一个是错误的。指针p的等号后面必须是地址;*p是指针所指向的对象,等号后面是变量名或数值。
而int *p=&a;
是特例,只在int
行才可这样。在C编程语言标准中默认这样是将a的地址赋值给指针p而非其指向对象*p。