C 语言 头文件的使用

发布于 2024-06-25 07:06:20 字数 1030 浏览 20 评论 0

下面的例子:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

漫雪独思

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文