结构体指针声明以后没有进行初始化为什么也可以正常运行
#include "stdio.h"
int main(void)
{
typedef struct
{
char doti,i,oper,dotflag,esflag;
char number[8];
char dotnumber[8];
char num;
}Cal_Struct ;
Cal_Struct * Cal;
Cal->doti=0;
Cal->i=0;
Cal->oper=0;
Cal->dotflag=1;
Cal->esflag=0;
printf("%d",Cal->i);
}
[解决办法]
什么编译器。。。
[解决办法]
什么环境?用vs 看看
[解决办法]
你用的编译器或者编译器的选项使得指针变量在编译时未被编译器初始化成NULL,这样你的程序在运行的时候,这个指针变量的值是一个随机的数值,如果指向的地址恰好是一片未被使用的空间,那么你的运气就很好,这个程序就能正常运行。可是你能保证运气永远这么好么?所以,指针在被引用前还是一定要初始化的。
[解决办法]
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。