为什么指针变量所占的地址是8位?如下图二中 &p_int .
听说这是一个常识,无论是什么类型的指针变量,

  1. 在32位系统下,寻址范围是32位,一个指针变量所占用的空间是4个字节,
  2. 在64位系统下,寻址范围是64位,一个指针变量所占用的空间是8个字节。 ```c

    include

    int main(){ int a = 1, b = 2, c = 3; int *p_int;

    printf(“ addr(a) =%u\n addr(b) = %u\n addr(c) =%u\n addr(p_int) =%u\n “,&a,&b,&c,&p_int);

    p_int = &a; p_int = p_int + 1;

    p_int = &b; *p_int = a+b;

    p_int = &c; p_int = p_int + c;

    printf(“ a = %d\n b =%d\n c =%d\n”,a,b,c);

    return 0;

} ``` 代码1-4:临时变量内存关系
caf7ebc939ead2398103ad81f23c414.png
图二