编程 · 24 10 月, 2023 0

一个例子搞懂C语言变量、地址、指针之间的关系(懒人包)

看书都知道指针储存的是地址,然而实际应用中经常会迷糊。特此放一个例子用以厘清他们之间的关系,也方便在感到迷茫的时候速查。

对于以下代码

#include <stdio.h>
int main () {
    int a = 233;  // 假设此时a所处内存地址为586533372。该地址由系统自动分配
    int *p;
    p = &a;
    return 0;
}

那么使用以下取值方式,得到的值分别为:

取值 得到 说明
a 233 对变量直接取值
&a 586533372 取变量地址
p 586533372 对指针取值,得到变量地址
*p 233 取指针地址存储值,等于变量值
&p 586533360 取存储指针变量的内存地址