C/C++头文件的编写
在C语言的学习过程中,我们一般把所有的代码写在一个文件中。随着自身水平的提高,我们发现代码越写越长,代码行数越来越多,把一个工程的所有代码写在一个文件中让人看起开非常吃力。于是我们开始想把代码中的函数归类,同一类放在同一个文件中当中,那么如何实现将一个工程中的代码放到不同文件中呢?这就需要写头文件了。下面的简单列子将让你学会如何写头文件。你也可以点击这里下载源代码自己研究。
假设我们需要定义一些与栈有关的函数,主程序需要调用这些函数。
首先,我们在同一文件夹中新建3个文件(要包含不同的自定义头文件需要加上路径,为了使用方便就在同一个文件夹下定义),名称分别为:
main.cpp 包含主程序
stack.cpp 定义与栈有关的函数
stack.h 对stack.cpp里面的函数、结构体变量等进行声明
aaarticlea/png;base64,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" alt="" />
然后在stack.h中添加如下代码:
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
#include "stdio.h"
#include "stack.cpp" ///表名函数原型在,stack.cpp中,VC6.0好像不用加这句 #endif // HEADER_H_INCLUDED
在stack.cpp中包含stack.h:
#include "stack.h"
同样在main.cpp中也包含stack.h,并添加主函数:
#include "stack.h" int main()
{
return ;
}
这几步做完之后,基本框架也就完成了,下面我们开始写我们的库函数,例如我们要定义:
void stack_push(pSTACK &S);
pSTACK stack_pop(pSTACK &S);
bool stack_empty(pSTACK &S);
3个函数,以及一个结构体,那么这函数的原型和结构体应该写在stack.cpp中,函数声明和结构体声明写在stack.h中。
stack.cpp:
#include "stack.h" typedef struct Stack
{
struct Stack *next;
unsigned int stack_size;
}; void stack_push(pSTACK &S)
{ /**此处省略若干代码**/ printf("这个函数来自stack.cpp\t"); printf("进栈\n");
} pSTACK stack_pop(pSTACK &S)
{
pSTACK s=NULL; /**此处省略若干代码**/ printf("这个函数来自stack.cpp\t");
printf("出栈\n");
return s;
} bool stack_empty(pSTACK &S)
{ /**此处省略若干代码**/ return true;
}
stack.h:
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED #include "stdio.h" /***结构体声明***/
typedef struct Stack STACK,*pSTACK; /***函数声明***/
void stack_push(pSTACK &S);
pSTACK stack_pop(pSTACK &S);
bool stack_empty(pSTACK &S); #include "stack.cpp" ///表名函数原型在,stack.cpp中,VC6.0好像不用加这句 #endif // HEADER_H_INCLUDED
在main函数中调用自定义函数。
main.cpp:
#include "stack.h" int main()
{
pSTACK S=NULL;
stack_push(S);
stack_pop(S);
return ;
}
输出:
aaarticlea/png;base64,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" alt="" />
这样一个简单的多文件框架就实现了,点击这里下载源代码。
C/C++头文件的编写的更多相关文章
- C/C++:提升_头文件的使用
C/C++:提升_头文件的使用 ◇写在前面 学到现在,很多人编写程序时只会使用一个文件.这样在代码量较小的时候,更利于表达程序,但是随着代码量的逐步增加,程序的思维逻辑不是我们一下子就可以完全理清的, ...
- linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)
原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是 ...
- gsoap 学习 1-自己定义接口生成头文件
接口头文件的格式在向导中没有看到明确的说明性的内容,但通过看开发包中示例程序中头文件定义和通过wsdl生成的头文件的内容,可以发现,头文件中都会出现以下几行信息 //gsoap ns service ...
- gSoap使用入门(2)----自定义接口头文件
摘自:http://blog.csdn.net/zhuzhihai1988/article/details/8131556 接口头文件的格式在向导中没有看到明确的说明性的内容,但通过看开发包中示例程序 ...
- 对c&c++源文件和头文件分开的好处的一点认识
对c&c++程序来说,基本上来说都是要把源文件和头文件分别编写.一般都是代表一个基本功能的源文件引用相应的头文件. 一个 相关功能的模块可能有若干对源文件和头文件组成.这是基于组件编程的核心. ...
- 编写自己的C语言头文件
一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的.只知道调用系统库 函数时,要使用#include语句将某些头文件包含进去.其实,头文件跟.C文件一样,是可以自己写的.头文件是一种文本 ...
- 编写自己的C头文件
1. 头文件用于声明而不是用于定义 当设计头文件时,记住定义和声明的区别是很重要的.定义只可以出现一次,而声明则可以出现多次. 下列语句是一些定义,所以不应该放在头文件里: extern ...
- xcode编写c/c++静态库使用系统头文件问题
c/c++编写的静态库中有引用ios系统头文件比如: #include <EGL/egl.h> 在xcode编译的时候需要设置静态库程序: Build Settings-Header Se ...
- 如何编写自己的C语言头文件
一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的.只知道调用系统库函数时,要使用#include语句将某些头文件包含进去.其实,头文件跟.C文件一样,是可以自己写的.头文件是一种文本文 ...
随机推荐
- ascx
aspx是页面文件ascx是用户控件,用户控件必须嵌入到aspx中才能使用. ascx是用户控件,相当于模板 其实ascx你可以理解为Html里的一部分代码,只是嵌到aspx里而已,因为aspx内容多 ...
- 蚁群算法解决TSP问题
代码实现 运行结果及参数展示 alpha=1beta=5 rho=0.1 alpha=1beta=1rho=0.1 alpha=0.5beta=1rho=0.1 概念蚁群算法(AG)是一种模拟蚂蚁觅 ...
- java常用类之BigDecimal
BigDecimal 小数计算丢失精度问题 在计算机中,所有文件都是以二进制存储的,数字运算也是使用二进制进行计算的,因为计算机中不存在小数点,所以我们通常说的浮点数如float.double都是计算 ...
- 动态规划: HDU1003Max Sum
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- Python中函数传递参数有四种形式
Python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...
- POJ 3259 Wormholes SPFA算法题解
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...
- media查询(来源于bootstrap)
/* 大屏幕 */@media (min-width: 1200px) { ... } /* 平板电脑和小屏电脑之间的分辨率 */@media (min-width: 768px) and (max- ...
- Scala学习笔记(6)对象
1.单例对象.Scala没有静态方法或字段,可以使用object这个语法结构来达到同样的目的.对象定义了单个实例,包含了你想要的特性. object Accounts{ def newUniqueNu ...
- 004-sed 命令使用
sed 命令使用 主要作用是用来将数据进行选取,替换,删除,新增的命令,与vim类似 选项: -n : 只显示经过sed处理的数据,打印到屏幕 -e: 运行多个条件同时运行 -i: 直接修改文件 -p ...
- 点击Listview列头排序
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) ListView1.Sorted = ...