【C】零基础教我学会c语言(八)
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、二维字符型数组1.功能2.定义3.数组的初始化二、函数1.功能2.函数的定义3.函数的调用1.调用2.传参4.函数的声明5.变量的作用域和生存周期1.变量的作用域2.变量的生存周期6.变量的存储类型1.自动型存储局部变量默认auto2.寄存器存储register3.外部声明extern4.静态存储static7.函数传参总结前言好难 提示以下是本篇文章正文内容下面案例可供参考一、二维字符型数组1.功能主要用于存储和操作字符串数组2.定义str[0][2] 访问单个字符元素 charstr[0] 访问第一行字符数组 char[32]3.数组的初始化charstr[5][32]{{h,e,l,l,o,\0},{w,o,r,l,d,\0},{h,o,w,\0},{a,r,e,\0},{y,o,u,\0}};charstr[5][32]{{hello},{world},{how},{are},{you}};charstr[5][32]{hello,world,how,are,you};charstr[5][32]{0};charstr[][32]{hello,world,how,are,you};二、函数1.功能避免重复性代码让程序模块化2.函数的定义函数类型 函数名(数据类型1形参1,数据类型2形参2,...){函数体;return返回值;}函数名与变量名要求保持一致形参形式参数用来展示函数对数据的处理方式函数类型函数运行结果的类型返回值与函数类型不一致时以函数类型为准函数类型不写默认为int型返回值return函数的运行结果3.函数的调用函数名(实参1,实参2,...);1.调用通过函数名加实参使用函数主调函数主动调用函数的函数 被调函数被别人调用的函数2.传参主调函数调用被调函数会将实参的值传递给形参实参个数与形参个数必须一一对应 如果实参与形参类型不匹配则将实参类型强制类型转换为形参类型再传参函数调用结果类型为函数类型函数调用结果的值为函数的返回值4.函数的声明1.如果被调函数在主调函数下方定义需要在主调函数上方声明被调函数2.如果被调函数在主调函数上方定义不需要声明被调函数#includestdio.hintadd(inta,intb);//提前声明被调函数intmain(void){intret0;retadd(100,200);printf(ret %d\n,ret);return0;}intadd(inta,intb){returnab;}5.变量的作用域和生存周期1.变量的作用域能够使用变量的范围 1.局部变量变量作用域在定义该变量的最近的大括号里 2.全局变量作用域在本文件中均可用2.变量的生存周期变量从开辟空间到空间被回收的整个过程称为生存周期6.变量的存储类型1.自动型存储局部变量默认auto将变量存放在栈区 局部变量未经初始化为随机值 执行到变量定义时为变量开辟空间 执行到超过变量作用域范围被回收2.寄存器存储register将变量存放在CPU的内部的寄存器中如果寄存器存满了就等价于auto类型3.外部声明extern声明变量或者函数是外部存储的调用另一个文件实现程序//被调函数文件.cintnum1100;intnum2200;intadd(intx,inty){returnxy;}//主函数#includestdio.hexternintnum1;//声明变量是外部存储的externintnum2;externintadd(intx,inty);//声明函数是外部存储的intmain(void){intret0;retadd(num1,num2);printf(ret %d\n,ret);return0;}gcc编译时两个文件一起编译4.静态存储static变量存放在静态区中未经初始化时值为0值编译代码时为变量分配空间main之前就分配了内存执行时加载到数据区中程序结束就回收空间限定变量/函数作用域只能在本文件中使用可以防止多文件编程时变量名或函数名冲突#includestdio.hintg0;//全局变量(已初始化)存放在已初始化静态数据区程序结束回收空间inth;//全局变量未初始化存放在未初始化静态数据区程序结束回收空间未初始化为0intmain(void){inti0;inta0;//局部变量auto型存放在栈区执行到定义时才开辟空间超过变量作用域范围被回收for(i0;i3;i){intb0;//局部变量栈区intc;//局部变量栈区未初始化为随机staticintd;//静态存储static未初始化为0编译时就分配空间整个程序结束才回收staticintf100;a;//1 2 3b;//1 1 1c;//随机d;//1 2 3f;//101 102 103g;//1 2 3h;//1 2 3printf(a %d, b %d, c %d, d %d, f %d, g %d, h %d\n,a,b,c,d,f,g,h);}#if0staticinta;staticintb100;hello world;a100;#endifreturn0;}7.函数传参值传递实参将值传递给形参形参拿到实参的值实现后续操作总结函数和数组咋这么难

相关新闻

108、YOLOv8改进实战:旋转框检测头设计——基于角度回归的遥感目标检测改进方案

108、YOLOv8改进实战:旋转框检测头设计——基于角度回归的遥感目标检测改进方案

108、YOLOv8改进实战:旋转框检测头设计——基于角度回归的遥感目标检测改进方案 从一次遥感项目的翻车说起 去年接了个卫星图像检测的项目,甲方要求检测机场里的飞机朝向。我心想YOLOv8跑水平框不是挺稳的吗?结果一上测试集,两架并排停着的飞机,水平框直接糊成一团,NMS…

2026/10/13 20:43:57 阅读更多 →
VMware Workstation 15 Pro安装Windows 7虚拟机完整指南与优化

VMware Workstation 15 Pro安装Windows 7虚拟机完整指南与优化

1. 项目概述:为什么今天还需要在VMware里装Win7?如果你刚接触虚拟化技术,或者手头有个老软件、老游戏必须在Windows 7环境下才能运行,那么这篇教程就是为你准备的。我见过太多初学者在第一步“创建虚拟机”时就卡住,或…

2026/10/18 10:38:19 阅读更多 →
百融的AI“远月合约”:深挖H1盈警预告

百融的AI“远月合约”:深挖H1盈警预告

如果,一个投资人看到上市公司的短期利空,他很兴奋而不是焦虑,证明——他在投资而不是投机,因为他在等着用更便宜的价格拿到筹码。不同的投资人看同一份公告,看到的东西是不一样的,因为我们眼中的别人&#…

2026/10/16 16:55:07 阅读更多 →

最新新闻

提示词工程实战:从六维框架到场景示例的系统拆解

提示词工程实战:从六维框架到场景示例的系统拆解

做过提示词工程的朋友应该都有体会:同一类问题,换个问法,结果可能天差地别。所谓“会问”比“懂”更重要,并不是玄学,而是提示词设计确实有方法论可循。如果你是做内容创作、产品运营、代码开发,或者日常工…

2026/10/18 19:45:30 阅读更多 →
crewAI生产级项目结构实战:从CLI脚手架到多智能体系统治理

crewAI生产级项目结构实战:从CLI脚手架到多智能体系统治理

同一个crewAI项目,有的团队三天跑通demo,之后却连一个agent的角色描述都不敢改;有的团队愿意花半天先把目录结构立起来,半年后还能往里加新agent、换模型、接业务系统。差别不在谁的prompt写得玄,而在项目从一开始有没…

2026/10/18 19:45:30 阅读更多 →
仓库管理系统数据库设计:表结构、并发与避坑指南

仓库管理系统数据库设计:表结构、并发与避坑指南

简介:这是一份面向数据库课程设计或仓库管理系统开发的完整参考资源,内容围绕仓库管理系统的数据库设计展开,梳理了仓库、物资、库存、采购订单、入库记录、出库记录等核心实体及其字段,并给出实体间关系与规范化、事务、索引等设…

2026/10/18 19:45:30 阅读更多 →
Spring AI RAG实战:从技术选型到调优的完整指南

Spring AI RAG实战:从技术选型到调优的完整指南

Spring AI 全家桶,我把 RAG 这口锅从生米煮成熟饭做 Java 后端的朋友应该都有感觉,这半年 AI 的热度快把咱们的老家底给掀翻了。Python 那边 LangChain、LlamaIndex 玩得飞起,我们这边能拿得出手的东西一直不多。直到 Spring AI 出来&#xf…

2026/10/18 19:45:30 阅读更多 →
Logback实战手册:从核心原理到线上踩坑与调优

Logback实战手册:从核心原理到线上踩坑与调优

日志这东西,平时没人会特意多看一眼,可一旦线上出了诡异问题,谁第一个打开服务器翻日志,谁就是全组的希望。我这些年接手过好几个Java后端项目,发现一个很微妙的现场:很多同学聊起业务代码头头是道&#xf…

2026/10/18 19:45:30 阅读更多 →
24GB显存跑32B开源大模型:量化+动态卸载的春节实验

24GB显存跑32B开源大模型:量化+动态卸载的春节实验

春节我给自己找了一件挺拧巴的事:非要把一个32B参数的开源大模型,塞进家用那台只有24GB显存的消费级显卡里。拧巴的不是技术难度,而是时机——走亲访友最忙的那几天,客厅里主机风扇一响,整个年味就碎了一地。所以这场实…

2026/10/18 19:44:30 阅读更多 →

日新闻

基于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/18 0:00:55 阅读更多 →

周新闻

基于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/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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 阅读更多 →