今天发现一个奇怪的现象:
变量a 、p是全局变量,定义在main函数之外;
指针p在定义时没有初始化,而是通过后面的赋值。如图,出现错误了:
错误提示:
但是将这些变量放置在main函数之中,就没有错误了:
注意,上面的问题不仅仅是针对指针的,任何变量在都会出现这种错误。
原因:
C语言中不允许在函数外部给全局变量赋值,全局变量在函数外只能定义时初始化。
解决方法:
1)在定义全局变量时,就初始化;
2)在函数内部进行赋值;
今天发现一个奇怪的现象:
变量a 、p是全局变量,定义在main函数之外;
指针p在定义时没有初始化,而是通过后面的赋值。如图,出现错误了:
错误提示:
但是将这些变量放置在main函数之中,就没有错误了:
注意,上面的问题不仅仅是针对指针的,任何变量在都会出现这种错误。
原因:
C语言中不允许在函数外部给全局变量赋值,全局变量在函数外只能定义时初始化。
解决方法:
1)在定义全局变量时,就初始化;
2)在函数内部进行赋值;