在C语言中,很多人会学习指针,也会遇到指针变量*p和取值运算*p,这两个符号相同,如何区分?
1、声明指针变量时
int *p;
这里,*p表示p是一个指向int类型的指针变量。*号出现在类型int和变量名p之间,用来指明p是指针类型。
2、取值运算时
int value = *p;
这里,*p表示对指针p所指向的内存地址进行取值操作,将p指向的值赋给变量value。*号出现在变量名p之前,用来获取指针所指向的值。
3、赋值给指针时
p = &x;
这里,p是一个指针变量,&x是变量x的地址。p被赋值为x的地址,此时没有使用*号进行取值操作。
4、修改指针指向的值时
*p = 10;
这里,*p表示对指针p所指向的内存地址进行赋值操作,将10赋值给p指向的内存地址。*号出现在变量名p之前,用来指定要修改指针所指向的值。
总结如下:
声明指针变量:int *p;,*号在类型和变量名之间。
取值运算:int value = *p;,*号在变量名之前,用于获取指针所指向的值。
赋值给指针:p = &x;,不涉及*号。
修改指针指向的值:*p = 10;,*号在变量名之前,用于修改指针所指向的值。
本文凡亿教育原创文章,转载请注明来源!