指针是什么?指针占用的内存空间是多少?指针变量是什么?
指针占用的内存大小——4个字节(32位系统),为什么都是4个字节?
指针的本质是内存地址,而32位系统内存地址都是32位的整数,所以一个指针就是一个32位整数的大小,也就是4个字节。
指针变量,就是存放指针的变量,存放地址的变量,而且指针指向的是一块内存区域的起始地址,指向区域的大小由所指变量的类型确定;
64位系统电脑上演示效果如下:
![](https://img.haomeiwen.com/i811561/06c0c9f2c82c281b.png)
address(a)=0x7ffeefbff46c,
address(p)=0x7ffeefbff46c,
address(*p)=0x7ffeefbff460.
size of p:8 bytes.
a=1, p=1.
a=2.
address(b)=0x7ffeefbff45c,
address(c)=0x7ffeefbff45b.
c=65, q=65.
size of q:8 bytes.
address(p+1)=0x7ffeefbff470,
address(q+1)=0x7ffeefbff45c.
address(arr)=0x7ffeefbff480.
address(&arr)=0x7ffeefbff480.
address(arr+1)=0x7ffeefbff484.
address(&arr+1)=0x7ffeefbff4a8.
网友评论