C 语言 头文件的使用
下面的例子:
int main() { func(); } void func() {...}
会报错,如果把 func 放在 main() 函数前,在 main() 调用它之前先定义,那么就 ok,why? 因为编译器发现一个不认识的函数调用,不知道该函数的返回类型,就假设为 int
类型,等后面编译的时候编译器看到实际的函数,它认为有两个同名的函数,一个是文件中的函数,一个是编译器假设返回 int 的那个。
如何去避免呢?有没有办法让编译器一开始就知道函数的返回值类型呢?为了防止编译器假设函数的返回类型,你可以显式地告诉它。告诉编译器函数会返回什么类型的语句就叫 函数声明
。
1.声明与定义分离
float func(int age);
函数声明包括:函数名,返回值类型,形参类型,以 ;
结束,没有函数体。一旦声明了函数,编译器就不需要假设,完全可以先调用函数,再定义函数。对于上面的问题,可以这样写:
int main(int argc, char *argv[]) { void func(); func(); return 0; } void func(){ printf("come on baby!"); }
如果有多个这样的玩意,我们就需要在 main 函数中一次次的声明,比较好的方式是可以放在头文件。
2.头文件
创建头文件 func.h
,将函数声明写在此:
#ifndef intoC_func_h #define intoC_func_h void func(); #endif
然后上面程序就可以在 main 函数中不用再函数声明了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: C 语言 命令行选项
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论