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 语言入门必会的基础操作符。


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

相关推荐
Nebula嵌入式18 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
天空'之城20 小时前
C 语言工业级通用组件手写 23:卡尔曼滤波(简易版)
c语言·卡尔曼滤波·嵌入式算法·工业级组件
888CC++21 小时前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
库玛西1 天前
C++ 运行时多态 :核心总结与原理图解
c语言·c++·笔记
天空'之城1 天前
C 语言工业级通用组件手写 21:限幅消抖滤波
c语言·嵌入式算法·工业级组件·限幅消抖滤波
Aurorar0rua1 天前
CS50 x 2024 Notes Algorithms - 07
c语言·开发语言·学习方法
神罚天下ET1 天前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
noipp1 天前
推荐题目:洛谷 P3726 [AHOI2017/HNOI2017] 抛硬币
c语言·数据结构·c++·算法·编程·洛谷·luogu
c238561 天前
C/C++每日一练14
c语言·c++·算法
apocelipes1 天前
Linux NTSYNC 简明教程
c语言·并发·linux编程