求教各位大神,如何编写自己的C语言头文件!

大家好,我想尝试着开始让自己编写程序的时候进行模块化的编写,想编写自己的头文件,可是在网上查了蛮久,发现都讲得比较模糊,可能是因为我悟性太差了,所以恳求好心人能给我一个简... 大家好,我想尝试着开始让自己编写程序的时候进行模块化的编写,想编写自己的头文件,可是在网上查了蛮久,发现都讲得比较模糊,可能是因为我悟性太差了,所以恳求好心人能给我一个简单但是详细的自己编写的头文件,我想知道到底该怎么写,以及每条语句的作用,希望能加上注释。万分感谢。(PS:因为程序是用在单片机里的,所以不知道是不是还有什么另外的不同的地方) 展开
 我来答
百度网友5f203ea
2011-09-18 · 超过23用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:52.4万
展开全部

我们平时用VC++6.0来编,新建头文件方法如图

比如新建一个文件Stack.h来实现栈的ADT

文件里边是这样的代码

struct tNode

{

int mData;

tNode *left;

tNode *right;

};

struct Para

{

int s;

int t;

    tNode *r; 

};

struct Stack

{

Para mData[100];

int mLen;

};

void InitStack(Stack &S)

{

S.mLen = 0;

}

void Push(Stack &S,Para item)

{

S.mData[S.mLen++] = item;

}

Para Pop(Stack &S)

{

S.mLen--;

return S.mData[S.mLen];

}

Para & Peek(Stack &S)

{

return S.mData[S.mLen-1];

}

bool EmptyStack(Stack &S)

{

if(S.mLen == 0) return true;

return false;

}

void Clear(Stack &S)

{

for(int i = 0;i<S.mLen;++i)

{

Pop(S);

}

}

然后在编写程序文件的时候

只需在开头写这样的代码:#include "Stack.h",引用的时候必须头文件名需用" "双引号括起来

必须要保证头文件与程序文件在同一个文件夹内,否则无法调用头文件

想调用头文件中的函数的时候只需调用函数名即可

比如调用void Clear(Stack &S)

只需编写 Clear(S),S代表自己所编应用程序中的栈结构体变量名

不知道你问的是不是这个,如果是的话,希望我的解答能给你带来帮助

更多追问追答
追问
嗯,请问是不是要像写主函数那样重新再建立一个工程来写这个头文件呢?这个文件没有主函数会不会不能编译呢?看到网上别人写的头文件开头会有个#ifndef xxx      #define xxx 结尾会有个#endif  ,这个只是用来确认现在要写的头文件是否已经存在还是必须要写上去有其他的作用呢?麻烦你再给我解释解释,谢谢您了。
追答
头文件是不需要main()函数的,头文件按我理解的是它是一个工具,用来装可能会用到的函数,如果在编写一个程序的时候要用到这里边的函数,就要在程序代码之前包含该头文件,这样才能调用头文件里的函数进行使用,有点像C++封装在类里边的函数。
#ifndef、#define和 #endif 都是条件编译指令,#if defined等价于#ifdef; #if !defined等价于#ifndef ,#endif用于结束条件编译,编译时与前面最近的#if、#ifdef或#ifndef作为一对,经常一起使用,编译两者之间的部分程序段。
还有 #define 也可用于声明一个全局变量的
我现在也只是一个本科三年级学生,仅仅懂得一些编程的基础,有些我是凭自己的经验来给你解答的,有些不懂的东西也是凭借在百度百科上找到,然后粘过来的,我能够为您解释的估计也只能有这么多了,剩下不懂的就得靠你自己了,其实百度百科上资源很多的,有不懂的都可以直接搜到的,这个条件编译就是我刚刚在百科上找的。
我感觉在课本上学到的东西很有限的,真正到写程序的时候有好多东西都要找资料的
最后祝您好运啦!加油哦~
zjdywzp
2011-09-18 · 超过25用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:79.3万
展开全部
新建Head Resource文件来编写新类,在源文件里包含这个头文件
建议买本书看看
追问
可以推荐一本书吗?或者发个例程到我邮箱行吗?谢谢你了。cao2545126@qq.com
追答
我给你发了邮件,有我自己编写的程序例子,至于书的话学校的图书馆有很多关于模块化编写的书,去借一本看看。祝你好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Alionkun
2011-09-18 · TA获得超过628个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:140万
展开全部
在这里举例子不是很现实。
找本书学习最好!
更多追问追答
追问
可以推荐一本吗?谢谢了
追答
the c programming language
windows程序设计
linux C编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式