为什么指针变量所占的地址是8位?如下图二中 &p_int .
听说这是一个常识,无论是什么类型的指针变量,
- 在32位系统下,寻址范围是32位,一个指针变量所占用的空间是4个字节,
在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:临时变量内存关系
图二