资讯详情

函数 函数 函数

📅 2026/10/19 7:20:21 | 华诺云谱 👁 阅读
函数 函数 函数
函数的概念库函数自定义函数形参和实参return语句数组做函数参数嵌套调用和链式访问函数的声明和定义1. 函数的概念C语言中函数的概念可以理解为子程序函数就是一段用于完成某项特定任务的代码。C语言的程序实际上是由无数个小的函数组合而成的。也可以说一个大的计算任务可以被分解成若干个较小的函数对应较小的任务来完成。在C语言中我们一般会见到两类函数• 库函数• 自定义函数2. 库函数2.1 标准库和头文件C语言标准中规定了C语言的各种语法规则但C语言本身并不提供库函数。C语言的国际标准ANSI C规定了一些常用函数的标准这些标准被称为标准库。不同的编译器厂商根据ANSI提供的C语言标准给出了一系列函数的实现这些函数就被称为库函数。各种编译器的标准库中提供了一系列库函数这些库函数根据功能的不同分别在不同的头文件中进行了声明。## 2.2 库函数的使用方法C/C官方的链接https://zh.cppreference.com/w/c/headercplusplus.comhttps://legacy.cplusplus.com/reference/clibrary/2.2.1 功能Computesquareroot计算平方根Returns the square root of x.返回平方根2.2.2 头文件包含库函数是在标准库中对应的头文件中声明的因此使用库函数时务必包含对应的头文件否则可能会出现一些问题。### 2.2.3 实践2.2.4 库函数文档的一般格式函数原型函数功能介绍参数和返回类型说明代码举例代码输出相关知识链接3. 自定义函数3.1 函数的语法形式3.2 函数的举例写一个加法函数完成2个整型变量的加法操作。Add函数也可以简化为4. 形参和实参4.1 实参在调用Add函数时传递给函数的参数a和b被称为实际参数简称实参。实参就是真实传递给函数的参数。## 4.2 形参在上面代码中定义函数的时候在函数名Add后的括号中写的x和y称为形式参数简称形参。形式参数:如果只是定义了Add函数而不去调用的话Add函数的参数x和y只是形式上存在的不会向内存申请空间不会真实存在的所以叫形式参数。形式参数只是在函数被调用的过程中为了存放实参传递过来的值才向内存申请空间这个过程就是形参的实例化。4.3 实参和形参的关系实参和形参之间存在联系但是形参和实参各自是独立的内存空间。x和y确实得到了a和b的值但是x和y的地址和a和b的地址是不一样的所以我们可以理解为形参是实参的一份临时拷贝。5. return 语句return语句执行后函数就彻底返回后边的代码不再执行。return返回的值和函数返回类型不一致系统会自动将返回的值隐式转换为函数的返回类型。如果函数中存在 if 等分支的语句则要保证每种情况下都有return返回否则会出现编译错误。6. 数组做函数参数写一个函数将一个整型数组的内容全部置为-1再写⼀个函数打印数组的内容。7. 嵌套调用和链式访问7.1 嵌套调用嵌套调用就是函数之间的互相调用正是因为函数之间有效的互相调用最后写出来了相对大型的程序。假设我们计算某年某⽉有多少天如果要函数实现可以设计2个函数:• is_leap_year()根据年份确定是否是闰年• get_days_of_month()调⽤is_leap_year确定是否是闰年后再根据⽉计算这个⽉的天数未来的稍微⼤⼀些代码都是函数之间的嵌套调⽤但是函数是不能嵌套定义的。7.2 链式访问所谓链式访问就是将⼀个函数的返回值作为另外⼀个函数的参数像链条⼀样将函数串起来就是函数的链式访问。printf 函数返回的是打印在屏幕上的字符的个数。上⾯的例⼦中我们就第⼀个printf打印的是第⼆个printf的返回值第⼆个printf打印的是第三个printf的返回值。第三个printf打印43在屏幕上打印2个字符再返回2第⼆个printf打印2在屏幕上打印1个字符再返回1第⼀个printf打印1所以屏幕上最终打印43218. 函数的声明和定义8.1 单个文件写⼀个函数判断⼀年是否是闰年。函数的调⽤⼀定要满⾜先声明后使⽤声明函数只要交代清楚函数名函数的返回类型函数的参数。函数声明中参数只保留类型省略掉名字也是可以的。8.2 多个文件⼀般情况下函数的声明、类型的声明放在头⽂件.h中函数的实现是放在源⽂件.c⽂件中。8.3 static 和externstatic和extern都是C语⾔中的关键字。static是静态的意思可以⽤来• 修饰局部变量• 修饰全局变量• 修饰函数extern是⽤来声明外部符号的。作⽤域和⽣命周期。8.3.1 static 修饰局部变量使⽤建议未来⼀个变量出了函数后我们还想保留值等下次进⼊函数继续使⽤就可以使⽤static修饰。代码2使用了static导致第一次n之后的值11得以保留所以第二次循环的时候n的值变为了11并循环1直至i4停止循环。8.3.2 static 修饰全局变量使⽤建议如果⼀个全局变量只想在所在的源⽂件内部使⽤不想被其他⽂件发现就可以使⽤static修饰。8.3.3 static 修饰函数使⽤建议⼀个函数只想在所在的源⽂件内部使⽤不想被其他源⽂件使⽤就可以使⽤static修饰。代码1代码2代码1是能够正常运⾏的但是代码2就出现了链接错误。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑