聊聊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;  
}  

posted @ 2014-12-25 17:22  garen2020  阅读(1275)  评论(0)    收藏  举报