聊聊C语言之c语言指针占几个字节
指针不同于一般变量,存的是变量的地址,在同一架构下地址长度都是相同的(cpu的最大寻址内存空间),大小只跟系统的寻址能力有关,所以不同类型的指针长度都一样,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。
可以在自己的电脑上测试下:
#include <stdio.h> int main(void) { int a=1; char b='a'; float c=1.0; void *p; p=&a; printf("a的地址为:0x%x,其字节数为:%d\n",p,sizeof(p)); p=&b; printf("b的地址为:0x%x,其字节数为:%d\n",p,sizeof(p)); p=&c; printf("c的地址为:0x%x,其字节数为:%d\n",p,sizeof(p)); return 0; }


浙公网安备 33010602011771号