指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,
现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。
指针的值的指向一个变量的地址,无论如何强转,其值都不会变,也就是指向的地址不变。
#include <stdio.h>
int main() {
char a = 'a';
int *ip = (int *) &a; //地址的值没有变化,只是指针的类型变为int*
printf("%c", *ip); //输出 a
return 0;
}
网友评论