函数 函数 函数
函数的概念库函数自定义函数形参和实参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就出现了链接错误。

相关新闻

page_alloc min_free_kbytes_sysctl_handler

page_alloc min_free_kbytes_sysctl_handler

min_free_kbytes_sysctl_handler() 是 /proc/sys/vm/min_free_kbytes 的 sysctl 处理函数,负责响应用户对该参数的读写请求。核心实现static int min_free_kbytes_sysctl_handler(const struct ctl_table *table, int write,void *buffer, size_t *length, loff_t *…

2026/10/19 7:20:13 阅读更多 →
Linux 开发工具(四) 熟悉自动化构建 make/Makefile

Linux 开发工具(四) 熟悉自动化构建 make/Makefile

目录 一. make/makefile 的概念 1.1 Makefile的基本语法 1.2 代码示例 二. make/makefile 的使用 2.1 文件的清理 2.2 make 的使用细节 2.2.1 make/make【目标名】 2.2.2 make 的执行规则 2.2.2.1 stat 2.3 makefile 的使用细节 2.3.1 .PHONY 2.3.2 makefile 的依赖…

2026/10/19 7:20:13 阅读更多 →
OpenCode 双雄限时免费:GLM-5.3-Flash 与 DeepSeek V4.1 Flash 免登录白嫖

OpenCode 双雄限时免费:GLM-5.3-Flash 与 DeepSeek V4.1 Flash 免登录白嫖

OpenCode 双雄限时免费:GLM-5.3-Flash 与 DeepSeek V4.1 Flash 免登录白嫖一句话速览:2026 年 10 月 15–16 日,OpenCode 连续宣布 DeepSeek V4.1 Flash、GLM-5.3-Flash 两款开源旗舰限时免费,免登录、免密钥、安装即用。本文讲清…

2026/10/19 7:20:13 阅读更多 →

最新新闻

基础模型重塑广告竞价环境建模:Bid2X 解读

基础模型重塑广告竞价环境建模:Bid2X 解读

广告竞价这个领域,真正难的不是“怎么出价”,而是“出价之后到底会发生什么”。KDD25 这篇 Bid2X,标题里最抓人的就是“环境建模”这四个字——它把视角从策略本身拉远到了策略所处的整个动态拍卖市场。基础模型视角的引入,让环境…

2026/10/19 7:59:32 阅读更多 →
Linux下Gitee托管实战:从SSH配置到高频报错排查

Linux下Gitee托管实战:从SSH配置到高频报错排查

年前有个朋友从 Windows 桌面端切到 Linux 环境干活,第一天就差点把键盘拍碎——他在 Gitee 上建好了仓库,本地也写好代码了,结果对着那个黑底白字的终端窗口发了好一会儿呆,完全不知道该敲什么。后来他问我,Gitee 在 …

2026/10/19 7:59:32 阅读更多 →
LSTM财务因子选股:时间序列建模与A股非平稳数据实战

LSTM财务因子选股:时间序列建模与A股非平稳数据实战

简介:本资源是一套基于LSTM神经网络的财务因子选股预测模型完整实现,专为计算机、人工智能及财经交叉方向的本科生毕业设计与课程设计打造,面向AI、自动化、电子信息等专业学生及初入量化领域的学习者,解决金融时序数据建模与股票…

2026/10/19 7:59:32 阅读更多 →
室内墙面缺陷检测实战:VOC/YOLO双格式数据集与目标检测训练要点

室内墙面缺陷检测实战:VOC/YOLO双格式数据集与目标检测训练要点

做了几年计算机视觉相关的工作,我接过不少“看着简单、做起来抓狂”的项目,墙面缺陷检测就是其中一个。前段时间参与一个旧房翻新前评估的项目,需要统计室内墙面的剥落、污渍和滴痕分布,我一开始天真地想拿通用目标检测模型直接跑…

2026/10/19 7:59:32 阅读更多 →
MSP432+OpenMV寻迹小车控制方案:从寄存器到PID调优

MSP432+OpenMV寻迹小车控制方案:从寄存器到PID调优

简介:2022年电子设计竞赛C题江苏省赛区一等奖的完整工程资料,主控采用MSP432,适合电赛备赛学生、嵌入式开发者与机器视觉入门者参考。作品围绕主从双车寻迹与OpenMV视觉导航展开,包含主车图像处理、停止线识别、障碍物测距以及双车…

2026/10/19 7:59:32 阅读更多 →
U8G2 OLED中文显示全攻略:字体包安装与编译配置

U8G2 OLED中文显示全攻略:字体包安装与编译配置

简介:本资源是面向Arduino嵌入式开发者的U8G2中文字体定制工具包,专为解决OLED/SSD1306等小型显示屏在U8G2库中无法直接显示中文的痛点而设计。包内集成GUI字体生成工具GUITool及完整u8g2-master源码,支持用户自定义字库提取、BDF格式转换与C…

2026/10/19 7:58:32 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →