变量声明与定义判断规则:
1. 如果省略了extern且具有初始化语句,则为定义语句。如int i = 10;
2. 如果使用了extern,无初始化语句,则为声明语句。如extern int i;
3.如果省略了extern且无初始化语句,则为试探性定义。如int i;
头文件的搜索路径:
1. <>包含头文件
(1) 通过GCC参数gcc -I指定的目录
(2)通过环境变量CINCLUDEPATH指定的目录
(3) GCC内定的目录
2. ""包含头文件
(1) 项目当前目录
(2) 通过GCC参数gcc -I指定的目录
(3)通过环境变量CINCLUDEPATH指定的目录
(4) GCC内定的目录
注:linux下各种常用的环境变量:
(1) PATH:可执行程序的搜索路径
(2) C_INCLUDE_PATH:c语言头文件搜索路径
(3) CPLUS_INCLUDE_PATH:C++头文件搜索路径
(4) LIBRARY_PATH:库搜索路径
C语言各模块之间的耦合方式
1. 非直接耦合:两个模块之间没有直接联系
2. 数据耦合:通过参数来交换数据
3. 标记耦合:通过参数传递记录信息