指针在内存中所占的大小

***sizeof的特点:
printf(”%d“,int
);
printf(”%d“,float
);
printf(”%d“,double
);
其结果为
4 4 4
这就是面试的时候问你,指针在内存中占多少个字节?
这就是个问题不是简单的2,4,甚至8个字节
回答:指针在内存中所在的字节数是由系统的寻址能力决定的,寻址能力就是CPU对于该数据范围处理的极限能力,理论上32位系统的寻址能力是2的32次,也就是32bit,按照一个字节8bit来算就是4个字节。16位系统是2个字节,64位的就是8个字节。寻址能力是由系统的硬件决定的,也就是总线的位数。
简单的总结下,32位的4字节,16位的2字节,32位的8字节,由系统的寻址能力决定。

你可能感兴趣的:(指针在内存中所占的大小)