指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是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;
- }