在给一个指针变量赋值时,需要注意指针变量的类型和所指变量的类型要一致,否则会出现以下情况
#include <stdio.h>
int main()
{
int a = 0x1234;
int *p = &a;
char *c = &a;
printf("a = %x\n", a); // a = 1234
printf("a = %x\n", *p); // a = 1234
printf("a = %x\n", *c); // a = 34
return 0;
}
因为指针变量的类型决定了所指空间的大小,char型的指针c是4个字节,而int型变量a是8个字节