零基础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(数组名

相关新闻

电动车多目标路径优化:NSGA-II算法与Matlab实现

电动车多目标路径优化:NSGA-II算法与Matlab实现

1. 项目概述电动车路径规划是个典型的"既要又要还要"问题——既要里程最短,又要时间最少,还要电量最省。传统单目标优化算法往往顾此失彼,而MOPGA-NSGA-II这套组合拳,恰好能帮我们找到一组"最优折中方案"。这…

2026/8/1 9:19:28 阅读更多 →
NS-USBLoader终极指南:轻松管理Switch游戏文件的免费全能工具

NS-USBLoader终极指南:轻松管理Switch游戏文件的免费全能工具

NS-USBLoader终极指南:轻松管理Switch游戏文件的免费全能工具 【免费下载链接】ns-usbloader Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. 项目地址: https://gitcode.com/g…

2026/8/1 9:19:28 阅读更多 →
为什么GitHub520成为开发者必备:3大核心优势解析GitHub访问加速方案

为什么GitHub520成为开发者必备:3大核心优势解析GitHub访问加速方案

为什么GitHub520成为开发者必备:3大核心优势解析GitHub访问加速方案 【免费下载链接】GitHub520 :kissing_heart: 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装) 项目地址: https://gitcode.com/GitHub_Trendi…

2026/8/1 9:19:28 阅读更多 →

最新新闻

终极分屏游戏解决方案:Nucleus Co-op如何让PC游戏支持本地多人联机

终极分屏游戏解决方案:Nucleus Co-op如何让PC游戏支持本地多人联机

终极分屏游戏解决方案:Nucleus Co-op如何让PC游戏支持本地多人联机 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 你是否曾梦想过和朋…

2026/8/1 10:04:40 阅读更多 →
音乐文件解密实战指南:Unlock Music Electron 桌面版全面解析

音乐文件解密实战指南:Unlock Music Electron 桌面版全面解析

音乐文件解密实战指南:Unlock Music Electron 桌面版全面解析 【免费下载链接】unlock-music-electron Unlock Music Project - Electron Edition 在Electron构建的桌面应用中解锁各种加密的音乐文件 项目地址: https://gitcode.com/gh_mirrors/un/unlock-music-e…

2026/8/1 10:04:40 阅读更多 →
UE4级联阴影(CSM)优化指南:从原理到实战调优

UE4级联阴影(CSM)优化指南:从原理到实战调优

1. 项目概述:为什么UE4的级联阴影(CSM)值得你投入精力?在UE4(以及现在的UE5)里做项目,尤其是开放世界或者大场景,阴影质量绝对是影响画面沉浸感和真实感的关键一环。你肯定遇到过这种…

2026/8/1 10:04:40 阅读更多 →
四六级准考证打印全攻略:从PDF获取到打印设置的完整避坑指南

四六级准考证打印全攻略:从PDF获取到打印设置的完整避坑指南

1. 项目概述:从“找文件”到“高效打印”的完整流程每年英语四六级考试前后,总能看到不少同学在群里、论坛里焦急地询问:“准考证PDF在哪下载?”“为什么我的准考证打不开?”“打印出来格式不对怎么办?”作…

2026/8/1 10:04:40 阅读更多 →
Unity游戏汉化利器:XUnity Auto Translator原理与五分钟上手指南

Unity游戏汉化利器:XUnity Auto Translator原理与五分钟上手指南

1. 项目概述:当Unity游戏遇上中文玩家 如果你是一个Unity游戏的开发者,或者是一个热衷于体验各类独立游戏的玩家,那么“游戏语言不支持中文”这个问题,你一定不陌生。从Steam上那些小而美的独立游戏,到一些年代稍早的经…

2026/8/1 10:04:40 阅读更多 →
TCP三次握手与四次挥手原理及实战调优

TCP三次握手与四次挥手原理及实战调优

1. TCP协议基础与通信原理 TCP(Transmission Control Protocol)作为传输层协议的核心,是现代网络通信的基石。我从业十余年处理过无数网络问题,90%的故障排查最终都会回归到对TCP机制的理解深度。不同于UDP的"发了就不管&quo…

2026/8/1 10:03:39 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →