|
h文件作用:
1.方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明;
2. 使函数的作用域从函数声明的位置开始,而不是函数定义的位置(实践总结)
3 .提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。
h文件里应该有什么:常量,结构,类型定义,函数,变量申明。
h文件不应该有什么:变量定义, 函数定义。
prt()
{
printf("Hello World!\n");
}
main()
{
prtr();
}
没有.h文件,编译仍可以顺利通过。再把程序改动下:
main()
{
prtstr();
}
prt()
{
printf("Hello World!\n");
}
没有.h文件,编译失败。C语言中的概念:作用域。
讲述与.h文件相关的顶层作用域, 顶层作用域就是从声明点延伸到源程序文本结束, 就prtstr()这个函数来说,他没有单独的声明,只有定义,那么就从他定义的行开始,到文件结束, 也就是说,在第一个程序的main()函数的引用点上,已经是他的作用域。第二个程序的main()函数的引用点上,还不是他的作用域,所以会编译出错.
play2()
{
play1();
}
play1()
{
play2();
}
main()
{
play1();
}
这就是经常用到的一种算法, 函数嵌套。play1 和play2 使用声明.
play1();
play2();
play2()
{
play1();
}
play1()
{
play2();
}
main()
{
play1();
}
一个软件项目,可能有许多个 play, 就需要我们想办法把这样的 play1(); play2(),进行管理, 而不是把他放在.c文件中, 于是.h 文件出现了. |
|