零基础C语言学习——函数 函数函数的好处1.降低程序的耦合性关联度减少重复代码2.让程序模块化增强代码的复用性。1.函数的定义函数的具体实现返回值 函数名形参表{函数体}返回值类型说明符int、char...等基本数据类型、构造数据类型、void返回函数最终结果void空类型当函数执行完不需要有任何结果返回时可以使用void类型的返回值函数名标识符遵循标识符的命名规则形参表函数执行过程中需要用到的条件形式 数据类型 形参名数据类型 形参名数据类型 形参名,2.函数的调用函数名实参表实参表传递给函数的具体的条件*注1.实参的个数和形参的个数必须一致2.实参和形参数据类型要一致或者要相兼容3.实参和形参名字可以相同也可以不相同4.函数不被调用则不执行调用几次则执行几次3.函数的声明1.当被调函数定义在了主调函数的后边编译器报“implicit declaration” 可以将该该函数在主调函数前边进行声明。2.多文件使用函数的时候需要对其声明允许被其他文件调用。返回值 函数名形参表4.函数的调用函数在调用的时候存在保护现场和恢复现场的操作保护现场当函数要被调用的时候会将函数调用位置的下一条指令地址保存在栈空间恢复现场当被调函数执行完时通过出栈保护现场的地址决定cpu继续执行的位置在函数被调用的下一条指令位置。5.函数的传参1.函数传参过程其实是实参向形参拷贝的过程实参有实参的空间形参有形参的空间值传递。2.值传递在被调函数中无法修改主调函数中的变量。3.函数传参的顺序自右向左。6.函数的递归调用递归调用函数直接或者间接的调用自己本质循环方式*注意1.递归要有递归的出口否则会成为死循环。2.递归调用系统开销比循环大比如栈内存。7.函数与一维整型数组传参方式定义返回值 函数名int数组名[], int len{// sizeof(数组名)----》sizeof(int *) ----8字节//外面数组怎么使用函数内数组就怎么使用}调用函数名(数组名 数组长度);void print_array(int a[], int len) { } print_array(a, len);数组的数组名是数组的首元素地址。*注1.数组作为函数参数传递时形参必须要是数组类型int a[], []中的常量可以有也可以省略。2.数组作为函数参数传递时本质传递的是数组的首元素地址所以形参本质是一个地址是数组的起始地址。3.由于数组名传参本质传递的是首地址所以必须要传递整形数组的长度。4.数组作为函数参数传递给被调函数后函数内部的使用方法和外面使用一样除了sizeof(数组名

相关新闻

最新新闻

Unity Dropdown OnValueChanged事件优化:解决重复点击当前项无响应问题

Unity Dropdown OnValueChanged事件优化:解决重复点击当前项无响应问题

1. 项目概述:一个看似简单却暗藏玄机的UI交互问题 在Unity UI开发中,Dropdown(旧版UI)和TMP_Dropdown(TextMeshPro版)是构建选项列表最常用的组件之一。它们的 OnValueChanged 事件是我们监听用户选择变化…

2026/8/1 10:29:41
菲尔兹奖评选逻辑解析:从年轻化标准到数学突破的本质

菲尔兹奖评选逻辑解析:从年轻化标准到数学突破的本质

1. 从“冷门”到“巅峰”:菲尔兹奖的独特魅力与评选逻辑最近,王虹和邓煜获得菲尔兹奖的消息,在学术圈内外都激起了不小的波澜。对于很多不常关注数学前沿的人来说,这个名字可能有些陌生,甚至会产生“他们是谁&#xff…

2026/8/1 10:29:41
使用ADB卸载安卓手机内置应用:原理、步骤与安全指南

使用ADB卸载安卓手机内置应用:原理、步骤与安全指南

1. 为什么我们需要卸载手机内置应用? 拿到一部新手机,尤其是像iQOO Neo5这样的品牌机型,第一件事可能就是清理那些用不上的预装软件。这些应用,我们通常称之为“内置应用”或“系统应用”,它们往往占据了宝贵的存储空间…

2026/8/1 10:29:41
WIFI232-B2串口转WiFi模块:硬件设计、AT指令配置与工业应用实战

WIFI232-B2串口转WiFi模块:硬件设计、AT指令配置与工业应用实战

1. 从串口到云端:WIFI232-B2 到底是什么?如果你做过物联网项目,或者玩过单片机、树莓派这类嵌入式设备,大概率遇到过这个头疼的问题:设备只有一个串口(UART),怎么让它连上Wi-Fi&…

2026/8/1 10:29:41
USB转4路串口转换器:多设备通信与数据采集的高效解决方案

USB转4路串口转换器:多设备通信与数据采集的高效解决方案

1. 从“一根线”到“多路串口”:为什么你需要一个USB转4路串口转换器?在嵌入式开发、工业自动化、设备调试这些领域里,串口通信(RS232/RS485)依然是连接设备、传输数据、下发指令的“血管”。我们手头的工控机、PLC、单…

2026/8/1 10:29:41
PCF8574 LCD1602 I2C模块:嵌入式显示接口优化方案

PCF8574 LCD1602 I2C模块:嵌入式显示接口优化方案

这次我们来聊聊一个在嵌入式开发中非常实用的硬件模块——带PCF8574芯片的LCD1602 I2C转接模块。如果你正在为单片机IO口资源紧张而发愁,或者想要简化LCD1602的接线复杂度,这个小小的转接板可能会成为你的救星。LCD1602液晶显示屏是嵌入式项目中最常用的…

2026/8/1 10:24:40