指针(*)存储变量地址,用于访问和修改变量值。地址运算符(&)获取变量地址,可将其赋值给指针或传递给函数。区别在于:指针可解引用,而地址运算符本身不能访问变量值。
C语言中指针(*)和地址运算符(&)的应用场景与区别
指针(*)
*
符号,后面跟变量名用途:
地址运算符(&)
&
符号,前面是变量名用途:
区别
实战案例
以下代码示例演示了指针和地址运算符在 C 语言中的使用:
#include <stdio.h> int main() { int x = 10; // 获取 x 的地址并将其赋值给指针 p int *p = &x; // 使用解引用运算符 * 访问和修改 x 的值 *p += 5; // 打印修改后的 x 值 printf("x: %d\n", x); // 输出:15 // 传递 p 指针作为函数的参数 myFunction(p); return 0; } void myFunction(int *ptr) { // 修改指向值的变量 *ptr = 20; }
在这个示例中:
*p
解引用指针 p 并访问指向的变量 x。myFunction
接收指向 x 的指针 p
,并通过 *ptr
修改 x 的值。以上是掌握C语言中*和&的应用场景与区别的详细内容。更多信息请关注PHP中文网其他相关文章!