C语言如何防止类型重复定义?

Python026

C语言如何防止类型重复定义?,第1张

1、当1个C语言程序由 多个 源程序文件 组成时,由于每个 源程序文件 都有 #include #include "...h", 最终它们可能形成交叉 包含 和 重复包含 现象 而造成错误。\x0d\x0a\x0d\x0a2、为了避免这种情况发生,可以 采用 定义宏 的方法 把各个头文件 包起来。\x0d\x0a编译器 在正式编译的开始,现处理 宏 -- 也就是“预编译命令".\x0d\x0a用 宏(#号开始的行) 把 头文件内容 包起来:\x0d\x0a#ifndef _HEADER_One_H_ // 意思是:宏开始行,如果还没有定义 _HEADER_One_H_ 则 进入,否则退出\x0d\x0a#define _HEADER_One_H_ //定义 _HEADER_One_H_//\x0d\x0aheader1.h\x0d\x0a头文件内容\x0d\x0a#endif // 宏结束行

(1)C语言全局变量不可以重复定义,但需要注意的是在C语言函数中,可以定义与全局变量同名的局部变量,此时的全局变量会暂时无效。

(2)全局变量是相对于局部变量而言的。全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。解释:在函数中使用全局变量,一般应作全局变量声明。 只有在函数内经过声明的全局变量才能使用。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以声明。

(3)局部变量(Local variables)指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。