思考题一

题目

为什么C语言要分. h和. c文件,这样有什么好处?

  1. 能不能把函数及变量的声明放在源文件里?
  2. 能不能把函数和变量的定义放在头文件里?
  3. 能不能在两个头文件里都声明同一个函数或者变量?
  4. 能不能在两个源文件里都定义同一个函数或者变量?

看法

*.h 文件为 C/C++ 中的头文件,内部包含了一些宏定义、变量定义以及函数的申明

*.c 文件为 C/C++ 中的可生成可执行程序的文件,内部也包含了一些宏定义、变量定义以及函数的申明

但这样分开写后,有利于代码的维护和开发。在 *.c 文件中,会使用到 #include 语句打开的 *.h 库中,所有未与源程序冲突的定义

如此一来,程序的模块化程度更高。当需求修改或代码更新时,只需要修改其在 *.h 中的定义即可修改到所有的 *.c 文件;否则,需要对每个 *.c 文件逐一修改,既不利于高效率地开发,又加大了出错率

现在回答上述四个问题:

首先,对于函数及变量的申明和定义,肯定是既能放在源文件里,又能放在头文件里的。

其次,对于问题三,经过实验证明,可以在两个头文件内申明同一个函数或变量,但不能同时打开两个头文件

但若使用如此方法处理:

#ifndef XXXXXX
#define XXXXXX
//定义的内容
#endif

则可以同时打开,但只能使用到第一个打开的库所申请的内容

对于问题四,经实验证明,同一项目中,两个源文件不得定义同一个函数或变量。但不同项目的不影响。

猜你喜欢

转载自www.cnblogs.com/JustinRochester/p/12232558.html