关于变量定义时初始化的必要性

之前以为,变量在定义时就初始化是因为可以减少很多不必要的随机值,方便调试。

今天遇到一个问题。

在九度上测一道题目。程序中声明了一个全局变量index,但没有初始化。直接写的“int index;”用C语言提交代码,显示Runtime Error。不知何故。后来换C++,显示Compile Error,才知道原来是string.h这个头文件中,有一个index函数。这两个声明冲突了,所以出了问题。

解决方法有两个,一个是改掉这个变量名,另一个是在变量声明的时候初始化:int index = 0; 这样就可以覆盖掉函数的定义。

如果记着在变量定义时初始化,就会覆盖掉string.h中的声明。(这个我还不太确定是为什么,按理说同级作用域内会冲突,只有不同级作用域内才可覆盖)。

展开阅读全文

没有更多推荐了,返回首页