指针(*)存储变量地址,用于访问和修改变量值。地址运算符(&)获取变量地址,可将其赋值给指针或传递给函数。区别在于:指针可解引用,而地址运算符本身不能访问变量值。

C语言中指针(*)和地址运算符(&)的应用场景与区别
指针(*)
声明:使用 * 符号,后面跟变量名作用:存储变量的地址
用途:
立即学习“C语言免费学习笔记(深入)”;
访问和修改变量的值(通过解引用)传递变量的地址(作为函数的参数)实现动态内存分配
地址运算符(&)
声明:使用 & 符号,前面是变量名作用:获取变量的地址
用途:
立即学习“C语言免费学习笔记(深入)”;
将变量的地址赋值给指针传递变量的地址(作为函数的参数)
区别
指针指向变量的地址,而地址运算符获取变量的地址。指针可以解引用以访问和修改变量的值,而地址运算符本身不能访问变量的值。
实战案例
以下代码示例演示了指针和地址运算符在 C 语言中的使用:
#include <stdio.h>int main() { int x = 10; // 获取 x 的地址并将其赋值给指针 p int *p = &x; // 使用解引用运算符 * 访问和修改 x 的值 *p += 5; // 打印修改后的 x 值 printf("x: %dn", x); // 输出:15 // 传递 p 指针作为函数的参数 myFunction(p); return 0;}void myFunction(int *ptr) { // 修改指向值的变量 *ptr = 20;}
在这个示例中:
*p 解引用指针 p 并访问指向的变量 x。函数 myFunction 接收指向 x 的指针 p,并通过 *ptr 修改 x 的值。
以上就是掌握C语言中*和&的应用场景与区别的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1446755.html
微信扫一扫
支付宝扫一扫