C语言,关于指针的初始化,这两个有什么区别哦

如题所述

*p=&a; 表示将a的地址赋值给*p这个值,在这里说明,p是指针的指针,*用来取值,*p之后取到的还是一个地址;例如:int **p = NULL;
p=&a;表示将a的地址赋值给p这个值,p是指针。例如:int *p = NULL;追问

只有在定义的时候赋值才加上*号吗

追答

*在变量声明的时候表示该变量是指针;
其他时候,在指针前加*表示,获取该指针指向的值;
例如:
int *p;//声明一个指向整形的指针
int a = 5;//声明一个整形变量
p = &a;//将变量a的地址赋值给指针
printf("a=%d", *p);//获取指针p指向的数据

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答