在C语言中,*
和&
是两个非常基础但功能相反的操作符,它们分别是解引用(dereference)操作符和取地址(address-of)操作符。
&(取地址操作符)
- 用途:
&
操作符用来获取变量的内存地址。 - 示例:假设有一个整型变量
int x = 10;
,则&x
表示获取变量x
的内存地址。如果你有一个指针变量想要存储变量x
的地址,可以这样做:int *px = &x;
。
*(解引用操作符)
- 用途:
*
操作符用来访问指针指向的内存地址中存储的值,即获取该地址上的数据。 - 示例:继续上面的例子,现在
px
是一个指针,指向x
的地址,*px
就用来获取px
指向的地址上存储的值,即x
的值10。如果你想通过指针改变x
的值,可以这样做:*px = 20;
,这样x
的值就变成了20。
关系和区别
- 关系:
&
和*
是相互补充的。&
用于获取变量的地址,而*
用于通过地址访问或修改该地址处的数据。 - 区别:
&
操作符作用于变量时,得到该变量的地址;*
操作符作用于指针时,得到指针所指向的值。
使用场景
&
常用于初始化指针,使指针指向某个变量的地址。*
被用于通过指针间接访问和修改其指向地址的值。
理解这两个操作符的区别和联系对于深入理解C语言中的指针概念至关重要。
标签:变量,指向,区别,px,c++,地址,操作符,指针 From: https://www.cnblogs.com/yesno233233/p/18059615