快速了解C语言基础(10)(二维函数)
8.函数和一维字符型数组传参char 数组名[100]定义返回值 函数名 (char 数组名[]){函数体}调用函数名(数组名)调用函数名(数组名);void print_str(char str[]){}print_str(str)注意(1)一维字符型数组作为函数参数传递时只需要传递数组即可不需要传递长度因为字符型数组保存的字符串末尾有‘\0’结束标志(2)数组作为函数参数传递时本质传递的是数组的首元素地址(在被调函数族sizeof(数组名形参)) ----》本质求地址在计算机内存中的大小。9. 函数和二维整形数组传参定义返回值 函数名int 数组名[][列数]int 行数{}调用函数名(数组名行数)int a[3][4] {0};void print_2D_array(int a[][4], int hang){}printf_2D_array(a, sizeof(a)/sizeof(a[0]))注意(1)二维整形数组传参时形参必须说明是二维数组行数可以省略列数不能省略。形参int a[][列数](2)在自定义的函数中行数无法计算所以可以通过参数的方式传递(3)在自定义的函数中列数可以计算sizeof(a[0]) / sizeof(a[0][0])10.函数和二维字符型数组传参定义返回值 函数名(char 数组名[][列数], int 行数){}调用函数名(数组名 行数);char str[3][100] {0};void print_2DC_array(char str[][100], int hang){}print_2DC_array(str, 3)11.变量的作用域和生命周期1)标识符作用域空间角度作用域标识符/变量可以被使用的范围局部作用域在{}内部被定义的变量的作用范围局部变量定义在局部作用域中的变量函数内部定义的变量、函数形参全局作用域可使用范围在全局{}外面。比如定义函数全局变量定义在全局作用域的变量。注意(1)标识符必须先定义再使用。(2)在相同作用域中不能定义同名标识符变量、函数。(3)在具有包含关系的作用域中出现了同名标识符外层标识符在内层不可见就近原则2)变量的生命周期时间角度变量的生命周期从变量的空间开辟到空间回收对应的生存期。动态生命周期局部变量在被定义的时候开辟空间超出其作用域范围空间被回收。静态生命周期和程序运行的生命周期一样长全局变量从程序运行之前空间开辟程序运行结束空间被回收。static修饰的静态变量从程序运行之前空间开辟程序运行结束空间被回收。1.作用域没发生变化局部作用域。2.生命周期变为静态生命周期总结:局部变量(1)作用域在局部超出局部作用域无法访问(2)动态生命周期定义时开辟空间超出作用范围空间被回收(3)局部变量保存在栈区未被初始化为随机值。全局变量/static静态变量(1)全局变量作用域在全局static静态变量作用域在局部(2)静态生命周期程序运行之前空间开辟程序运行结束空间被回收(3)全局变量/static静态变量保存在数据区。(4)全局变量/static静态变量未被初始化时默认为0。(5)未初始化的全局变量/static静态变量存储在.bss段.bss段系统默认清0.(6)已初始化的全局变量/static静态变量存储在.data段3)变量的存储类型int a存储类型 数据类型 变量名;变量的存储类型auto默认存储类型static(1)static修饰局部变量静态变量具备静态生命周期延长局部变量的生命周期。(2)static修饰函数该函数只允许在当前原文件中被调用。(3)static修饰全局变量该变量只允许在当前文件中使用。register寄存器变量register修饰变量时建议编译器将该变量存储在寄存器中register int i 0;register仅仅是一个建议。int *p;p i; //x i是寄存器变量无法取址extern修饰全局变量/函数声明。(1)extern修饰全局变量用来声明全局变量表示允许被外部的.c使用。(2)extern声明函数表示该函数允许被外部的.c使用

相关新闻

Unity动画系统全流程解析:从状态机到性能优化

Unity动画系统全流程解析:从状态机到性能优化

1. 项目概述:从静态到动态的魔法在Unity的世界里,让一个静止的物体“活”起来,是每个开发者都会经历的第一步,也是最富成就感的一步。无论是让一个角色挥剑、一个门缓缓打开,还是一个UI按钮优雅地弹出,动画…

2026/9/21 13:28:10 阅读更多 →
MMC电压源换流器控制技术解析与应用

MMC电压源换流器控制技术解析与应用

1. MMC电压源换流器控制器的核心价值在电力电子领域,模块化多电平换流器(Modular Multilevel Converter, MMC)已经成为中高压直流输电系统的首选拓扑结构。与传统两电平或三电平换流器相比,MMC具有输出电压谐波含量低、开关损耗小…

2026/9/11 18:30:49 阅读更多 →
管理者必读的AI管理转型手册(2024黄金窗口期倒计时)

管理者必读的AI管理转型手册(2024黄金窗口期倒计时)

更多请点击: https://codechina.net 第一章:AI管理转型的时代必然性与战略紧迫性 人工智能已从技术实验阶段跃升为组织核心生产力引擎。当全球头部企业平均将23%的IT预算投向AI治理与模型生命周期管理(据Gartner 2024年报告)&…

2026/9/12 23:31:09 阅读更多 →

最新新闻

wow收获节性能优化实战:3个技巧让项目提速50%附完整示例

wow收获节性能优化实战:3个技巧让项目提速50%附完整示例

wow收获节性能优化实战:3个技巧让项目提速50%附完整示例 看了一堆教程还是不会写项目?别慌,问题不在你智商,而在你缺的是一套能跑通的 完整示例…

2026/9/21 17:48:27 阅读更多 →
r星官网实战项目解析:3招破解面试原理追问

r星官网实战项目解析:3招破解面试原理追问

r星官网实战项目解析:3招破解面试原理追问 面试被问“r星官网架构怎么实现的”,你张口结舌,手心冒汗。这场景太熟了。很多开发者把r星官网当成一个单纯的网站入口,却忽略了它背后承载的实战项目复杂度。面试官不关心你点没点过链接,他们关心的是你能…

2026/9/21 17:48:27 阅读更多 →
3步搞定性能优化:从源码看关键词策略落地

3步搞定性能优化:从源码看关键词策略落地

3步搞定性能优化:从源码看关键词策略落地 看了一堆教程还是不会写项目?别慌,这锅不全是你的。 很多后端开发在搞搜索接口时,往往卡在“性能优化”这一步。加了索引没反应,加了缓存反而更卡,甚至不知道代码里哪一行在拖后腿。其实,问题不在你写得不够…

2026/9/21 17:47:26 阅读更多 →
3个闪付卡面试陷阱:从入门到精通避坑指南

3个闪付卡面试陷阱:从入门到精通避坑指南

3个闪付卡面试陷阱:从入门到精通避坑指南 背下“双机热备”就能拿Offer?别逗了。大厂面试官问“闪付卡”时,考的不是你能不能背诵定义,而是你 学会语法却不知怎么搭项目…

2026/9/21 17:47:26 阅读更多 →
9gag2源码深度拆解:3个核心模块避坑指南

9gag2源码深度拆解:3个核心模块避坑指南

9gag2源码深度拆解:3个核心模块避坑指南 版本升级后 API 全变了,是不是让你抓狂?别急,这份 9gag2 避坑指南,直接带你啃源码。 很多开发者在迁移或深度定制 9gag2…

2026/9/21 17:46:26 阅读更多 →
2026最新CorelDraw复制快捷键深度解析,新手面试避坑指南

2026最新CorelDraw复制快捷键深度解析,新手面试避坑指南

2026最新CorelDraw复制快捷键深度解析,新手面试避坑指南 面试被问“CorelDraw里Ctrl+C为什么有时候失效”,你愣住答不上来?别慌,这不是你操作慢,而是你没搞懂底层逻辑。很多培训机构学员觉得绘图软件只是点点鼠标,直到20…

2026/9/21 17:46:26 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →