变量类型和指针之间的转换问题。
float *p1;
p1 = 100 ;
printf("p1:%d\n", sizeof(p1));
printf("p1:%d\n", &p1);由于指针里面只能存放地址,而将整型数付给p1.意思是将指定的地址赋给指针。这样编译器会有警告,但是可以运行。会产生一个垃圾值。
结果:
p1:8
p1:-13304若是想将数值赋给指定地址可以这样做:(不建议这样做,大部分编译器会崩溃)
首先,找到一个自己有权限赋值的内存地址
int i;
printf("%p",&i);结果:
0xffffcc08然后直接将想要赋的data赋给这个地址:
*(int *)0xffffcc08 = data;
版权声明:本文为weixin_45432526原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。