凡亿教育-苏苏
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | C语言:如何分辨指针变量*p和取值运算*p?
C语言:如何分辨指针变量*p和取值运算*p?

在C语言中,很多人会学习指针,也会遇到指针变量*p和取值运算*p,这两个符号相同,如何区分?

image.png

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;,*号在变量名之前,用于修改指针所指向的值。


本文凡亿教育原创文章,转载请注明来源!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论