#include
#include
void main()
{
//指针的类型必须要与指针指向的类型一致,不一致,会出现,大小不一样,解析方式不一样
//指针类型double大于指针指向的类型int
//int num = 100;
//double *p = #
//printf("\n%x,%f\n", p, *p);
double db = 100.0;
int *p = &db;
printf("\n%x", p);
printf("\n%d\n", *p);
system("pause");
}
//运行结果:可以看到 地址可以正常打印,但是 读取指针指向内容时,发生错误。
/*3ef8ac, -92559592117433136000000000000000000000000000000000000000000000.000000
请按任意键继续. . .*/
#include #include void main() { //当指针类型和指针指向的类型不同,但是他们所占据的字节数相同时, /* 指针除了地址以外还有类型,类型决定了指向的数据大小,决定了数据的解析方式 类型决定了 :== 数据的大小 + 数据的解析方式 所以: 即使 地址相同,大小相同,也会出错。 */ int num = 100; float *p = # printf("\n地址: %x\n", p); printf("\n : %f\n", *p); system("pause"); }