C语言,& 与 * 的区别

在C语言中,&和*都是一元运算符,但是它们的作用不同。

&运算符用于获取变量的地址,即取地址运算符。
例如:
&a表示变量a的地址。&运算符可以用于函数参数传递,从而实现对函数外部变量的修改,也可以用于动态内存分配等操作。

*运算符用于获取指针所指向的内存中存储的值,即解引用运算符。
例如:
*p表示指针p所指向的内存中存储的值。
*运算符可以用于访问动态分配的内存、数组和字符串等数据结构。

需要注意的是:
&和运算符是互逆的,即&p等价于p,而&a等价于a。
此外, & 和 * 运算符也可以组合使用,例如&p表示获取指针p所指向的内存的地址,而(&a)表示获取变量a的值。

总之,&和*运算符在C语言中都是非常重要的运算符,它们的作用不同,但是经常会一起使用,用于实现各种复杂的操作。

你可能感兴趣的:(c语言,数据结构,开发语言)