-
在定义头文件时避免重复定义
#ifndef _XX_H_
#define _XX_H_
...
#endif
tips:"."用"_"代替,且在开头和结尾处加"_"。
-
extern
extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
最好不要在头文件中定义变量
关键字----extern
修饰变量:只能用于扩展没有被static关键字修饰的全局变量。
默认情况下全局变量只能在定义它的文件中使用(从定义该全局变量开始到所在文件的文件尾),
但如果在另一个文件中将这个变量声明为外部变量,那么这个变量的作用域将被扩展到另外一个文件中。
也可以在定义全局变量之前声明该变量,从而在文件中可以在定义该全局变量前使用该全局变量。
修饰函数:在定义函数时如果在函数首部的最左端冠以关键字e xtern,则表示此函数是外部函数,可供其他文件调用。C语言规定,如果在定义函数时省略extern,则隐含为外部函数。
extern“C”的用法,属于 C++的范畴
-
断言
assert()函数,如果传入的函数为0,则断言触发,运行崩溃