函数知识总结(三)

回顾

在函数知识总结(一)、(二)两篇文章中细致讲解了函数的概念、库函数、自定义函数、形参实参、return、数组做函数参数、嵌套调用、链式访问等内容。通过链接可以对上述知识进行回顾总结 

函数知识总结(一)-CSDN博客

函数知识总结(二)-CSDN博客

函数的声明和定义

单个文件

一般我们在使用函数的时候,直接将函数写出来就使用了。

例:写一个函数判断一个年份是不是闰年

 上面代码中红色部分是函数的定义,橙色部分是函数的调用。

在这种场景下函数定义在函数调用之前,代码没有问题。

如果将函数的定义放到函数调用后面:

这个代码在VS2022上进行编译会报警告:

 这是因为C语言编译器对源代码进行编译的时候,是从第一行往下扫描的,当遇到is_leap_year函数调用的时候,并没有发现前面有is_leap_year的定义,就报出来上述警告。

那么如何解决这个问题呢,就是在函数调用之前先声明一下is_leap_year这个函数,声明函数只需要交代清楚:函数名,函数返回类型和函数参数。

代码修改成下述这样就可以正常编译了:

 函数的调用一一定要满足,先声明,后使用;

函数的定义也是一种特殊的声明,所以如果函数定义放在调用之前也是可以的。

多个文件

一般真正使用的大型代码,代码内容会很多,不会将所有代码放在一个文件里,而是根据程序的功能,将代码拆分放在多个文件中。

一般情况下,函数的声明、类型的声明放在头文件(.h)中,函数的实现放在源文件(.c)文件中。

static和extern

static和extern都是C语言中的关键字。

static是静态的意思,可以用来:

  • 修饰局部变量
  • 修饰全局变量
  • 修饰函数

extern是用来声明外部符号

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值