热门IT资讯网

c/c++程序的文件结构

发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,文件结构:1.c/c++程序分两个文件a.头文件:用于保存程序的声明(".h"为后缀);b.定义文件:用于保存程序的实现(c以".c"为后缀,c++以".cpp"为后缀)。2.为防止头文件被重复引用,

文件结构:

1.c/c++程序分两个文件

a.头文件:用于保存程序的声明(".h"为后缀);

b.定义文件:用于保存程序的实现(c以".c"为后缀,c++以".cpp"为后缀)。

2.为防止头文件被重复引用,用#ifndef/#define/#endif 结构和#pragma once处理。

#ifndef/#define/#endif 结构和#pragma once区别:

#ifndef/#define/#endif 结构用来防止某个宏被多次定义,跨平台性好;

#pragma once用来防止某个头文件被多次include,移植性差。

3.#i nclude 格式来引用标准库的头文件(编译器将从标准库目录开始搜索);

#i ncl ude"filename.h" 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索) 。

建议1:头文件中只存放"声明"而不存放"定义"。因为在 C++ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。

建议2:不提倡使用全局变量, 尽量不要在头文件中出现象 extern int value 这类声明。

4:头文件的作用

1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只

要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库

功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。

2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件

中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错

的负担。


0