C语言取地址符 `&` 极简教程

一句话:`&` 就是 **"问地址"** ------ 就像问快递柜"我的包裹在哪个格子里?"

复制代码
int a = 10;

printf("a 的值: %d\n", a);       // 输出: 10
printf("a 的地址: %p\n", &a);   // 输出: 0x7ffd... (十六进制地址)

|-----|----------------------|
| 表达式 | 含义 |
| a | 变量的(10) |
| &a | 变量的地址(0x7ffd...) |

最常见的 2 个用法

1.scanf 传地址

复制代码
scanf("%d", &a);  // 告诉 scanf:把输入的值塞到 a 的地址里

为什么 scanf 要 &a?因为 scanf 需要知道 "往哪儿写"

2.指针赋值

复制代码
int *p = &a;  // p 存了 a 的地址,p 就是指向 a 的指针

注意

& 只能对变量用,不能对常量/表达式:&10 ❌

& 和 * 是互逆的:*&a == a ✅

总结

& = 取地址 = "变量住哪儿?"

配合 scanf、指针使用,是 C 语言入门必会的基础操作符。


如果你觉得有帮助,欢迎点赞、收藏、评论,让更多人看到!

相关推荐
乱七八糟的屋子2 小时前
LibYAML超全教程-C语言YAML解析与生成
c语言·开发语言·配置文件·yaml解析·libyaml·开源库实战
小肝一下2 小时前
2. 顺序表和链表
c语言·数据结构·c++·链表·dijkstra·依蕾娜·香香的依蕾娜
j7~2 小时前
【数据结构初阶】带头双向循环链表 (DSList) --增删查改完整实现详解
c语言·数据结构·链表·带头双向循环链表
无相求码19 小时前
【C语言】字符串的本质是什么,为什么 strlen 会读到野内存
c语言·开发语言
LuminousCPP21 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
SuperByteMaster21 小时前
__set_MSP 和__set_MSPLIM 接口区别
c语言
CS创新实验室1 天前
NumPy数组的C风格和Fortran风格
c语言·开发语言·numpy
LuminousCPP1 天前
单链表专题(应用篇):三道经典题吃透删除、反转与快慢指针
c语言·数据结构·笔记
薄情书生1 天前
基于51单片机的电子钟设计(LCD12864显示 + DS1302)
c语言·51单片机·protues