C语言指针的大小

C语言指针的大小

今天看到一道题目是这样的,写出以下变量在32位设备上的大小(占多少个字节)
然后其中就有一些指针类型的数据,那么我们知道在C语言中指针的大小都是一样的,不管是有数据类型的还是void指针。
但是32位上的指针的大小是多大呢。
于是我去测试了一下,由于我没有32位的机器所以用64位的机器试了一下,发现指针类型的大小是8字节。

结论

那么32位的设备上的指针大小应该是4字节了。为什么呢?难道是因为32位就是4字节。
我猜测是这样的,因为32位的设备是指设备的CPU(处理器)的总线的位宽为32位。所以一次能读取32位大小的数据。那么为了方便处理,直接用32位寻址。
那么64位对应就是8字节
至于具体对不对呢?欢迎专业人士解答😂

posted @ 2021-01-06 23:15  '昵称'undeclared  阅读(380)  评论(1编辑  收藏  举报