看书,记录。
C的NULL地址:0x00000000
当我们定义一个char变量时没有给它赋值,它的地址又是什么?
在main里
char c;//0x00000000
int i;//0x00000001
char * p;//0x00000000
在其它的方法里
char c1;//0x00000000
int i1;//0x00000008
char * p1;//0x00000000
当我在不同的路径下创建同一个程序时
上面三种类型的地址又发生了变化,又试了单独测试,发现同时定义时地址没法确定。
所以定义的同时初始化是最好的解决方法,要和NULL比较的变量初始一定要赋值NULL。