前几天写代码时遇到一个问题:在一个新的c文件中写某几个变量时,即使在本文件中未定义,也不报错,跟踪发现其指向当前目录下的另一个文件中的全局变量,当时没理解其中原因,今天刚好看到大神gfree.wind的一篇博客总算是解惑了。
关于全局变量:当定义全局变量时,有两点需要注意:一,如果只有本文件使用,那么需要添加上static;二,即使不能使用static,那么一定要为该全局变量定义初值,即使这个值就是0。这样可以保证该变量为强符号,当名字冲突时,可以发现,而不是被未知的值覆盖。三嘛,最好能够避免全局变量,或者定义一个独一无二的名字。此段引自:http://blog.chinaunix.net/uid-23629988-id-2888209.html