goofy2014
   指针不同于一般变量,存的是变量的地址,在同一架构下地址长度都是相同的(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;  
}  

分类:

技术点:

相关文章:

  • 2022-01-02
  • 2021-09-22
  • 2021-08-20
猜你喜欢
  • 2021-11-13
  • 2021-12-14
  • 2021-09-24
  • 2022-02-18
  • 2021-11-02
  • 2021-12-27
相关资源
相似解决方案