求教各位大神,如何编写自己的C语言头文件!
我们平时用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 也可用于声明一个全局变量的
我现在也只是一个本科三年级学生,仅仅懂得一些编程的基础,有些我是凭自己的经验来给你解答的,有些不懂的东西也是凭借在百度百科上找到,然后粘过来的,我能够为您解释的估计也只能有这么多了,剩下不懂的就得靠你自己了,其实百度百科上资源很多的,有不懂的都可以直接搜到的,这个条件编译就是我刚刚在百科上找的。
我感觉在课本上学到的东西很有限的,真正到写程序的时候有好多东西都要找资料的
最后祝您好运啦!加油哦~
建议买本书看看
可以推荐一本书吗?或者发个例程到我邮箱行吗?谢谢你了。cao2545126@qq.com
我给你发了邮件,有我自己编写的程序例子,至于书的话学校的图书馆有很多关于模块化编写的书,去借一本看看。祝你好运
找本书学习最好!
可以推荐一本吗?谢谢了
the c programming language
windows程序设计
linux C编程