尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C语言之函数学习
1.函数三种形式-函数的定义-函数的调⽤-函数的声明2.函数传递1.赋值传递1.实参将值传递给形参,形参不会影响实参类似于学霸拷贝一份作业给学渣抄学霸的拷贝的作业给学渣乱涂乱画学霸的原件不会影响2.函数体内想要修改函数体外的变量值时不能用值传递2.全局变量传递数据1.全局变量 就像是一个公交车谁都可以上上下下因此可以用来在函数间传递数据,但会有风险所以最好少用2.全局变量可以与局部变量重名但是在局部范围内局部变量会将全局变量隐藏#includestdio.h //全局变量可以在函数间传递数据 int a 100; int b 200; void swap(void) { //局部变量不能用来在函数间传递数据因为生存周期是在函数运行完后就销毁了 int a 50;//全局变量可以与局部变量重名但是函数内会优先使用局部变量的值 int temp 0; temp a; a b; b temp; return; } int main(void) { swap(); printf(a %d b %d\n,a,b); return 0; }3.数组传递1.⼀维整形数组int a[5]; int fun(int array[], int len);2.一维字符型数组char str[32] {hello}; int fun(char pstr[], int len); int fun(char pstr[]);4.递归函数1. 递归函数定义时调⽤函数体本⾝成为递归函数2. 注意1. 递归函数必须有结束条件2. 避免深层次的递归5.宏定义1.不带参1.宏名⼀般为⼤写与变量名做区分2.宏只是代码的替换中间不会进⾏任何数据计算的操作2.带参宏带参宏与函数的区别函数有参数类型、返回值、返回值类型、调⽤相关的概念带参宏没有这些概念它只是代码的替换带参宏执⾏效率⾼因为没有函数传参等这些过程的资源开销带参宏主要⽤于封装⼀些短⼩的代码模块带参宏会让代码体积增⼤函数不会使代码体积增⼤6.条件编译满足条件加入编译不满足条件从编译中去除#if 条件 代码块1 #elif 条件 代码块2 #else 代码块3 #endif 如果没有定义宏名则将后续代码加入编译中 #ifndef 宏名 #endif 如果定义宏名则将后续代码加入编译中 #ifdef 宏名 #endi可以用 gcc -E 文件名.c - o 文件名.i 查看编译文件
RELATED

相关推荐

Unity DoTween进阶:从原理到性能优化的实战指南

Unity DoTween进阶:从原理到性能优化的实战指南

1. 项目概述:为什么DoTween值得深挖?在Unity3D项目里做动画,从UI弹窗、道具飞入,到角色移动、场景过渡,几乎无处不在。早期大家可能都用过Unity自带的Animation组件或者写Coroutine配合Mathf.Lerp,但代码写…

📅 2026/8/23 1:47:54
5分钟掌握Fate/Grand Automata:你的FGO智能刷本助手

5分钟掌握Fate/Grand Automata:你的FGO智能刷本助手

5分钟掌握Fate/Grand Automata:你的FGO智能刷本助手 【免费下载链接】FGA Auto-battle app for F/GO Android 项目地址: https://gitcode.com/gh_mirrors/fg/FGA Fate/Grand Automata(简称FGA)是一款专为《Fate/Grand Order》&#xf…

📅 2026/9/15 19:06:46
Ubuntu 20.04部署LibTorch、OpenCV与FFmpeg:C++ AI视觉开发环境避坑指南

Ubuntu 20.04部署LibTorch、OpenCV与FFmpeg:C++ AI视觉开发环境避坑指南

1. 项目概述与核心痛点 在Ubuntu 20.04上为C项目部署PyTorch(LibTorch)、OpenCV和FFmpeg,这听起来像是一个标准的开发环境搭建流程,但实际操作过的人都知道,这绝对是一个“坑”密度极高的任务。我最近为了一个需要集成…

📅 2026/8/23 1:47:55
MORE NEWS

更多资讯

📰

研发项目停滞的破局方法论与实战技巧

1. 研发人员如何应对悬而未决的项目困境作为在技术一线摸爬滚打多年的老兵,我见过太多项目像被施了"拖延咒"——需求评审会开了七八轮,代码仓库却还停留在初始化提交;产品经理的PRD更迭到V12版,技术方案却卡在架构设计阶…

📰

网络集中监控架构解析:IP矩阵、流媒体转发与带宽估算实践

简介:一套面向安防系统工程的大型网络集中监控设计方案,聚焦海康威视技术平台,服务于企业安保、弱电集成与运维管理人员。方案针对多分支机构在视频监控数字化、网络化、智能化转型中形成的信息孤岛问题,提出基于IP超大规模视频切…

📰

Blender爆火揭秘:免费三维建模软件的新手避坑指南

Blender 这几年的热度曲线,说实话是有点吓人的。两三年前聊起它,很多人还觉得是“免费玩具”,现在你随便进一个游戏美术群、建筑可视化群、甚至短视频特效群,都能看到有人在用 Blender 做东西。作为一个从 2.79 时代就开始折腾的老…

📰

工业可燃气体变送器选型安装与调试全攻略:GTQ-FC100T实战解析

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

📰

Zemax与Speos协同设计HUD光学系统实战指南

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

📰

Wails v3 单实例(Single Instance)功能实战:配置、事件传递与跨平台实现原理

Wails v3 单实例(Single Instance)功能实战:配置、事件传递与跨平台实现原理 【免费下载链接】wails Create beautiful applications using Go 项目地址: https://gitcode.com/gh_mirrors/wa/wails 本篇技术指南围绕 v3/examples/sing…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬