尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【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.函数传参值传递实参将值传递给形参形参拿到实参的值实现后续操作总结函数和数组咋这么难
RELATED

相关推荐

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

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

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

📅 2026/8/23 1:52:44
VMware Workstation 15 Pro安装Windows 7虚拟机完整指南与优化

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

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

📅 2026/9/15 12:04:19
Trie树在多语言处理中的优化与应用实践

Trie树在多语言处理中的优化与应用实践

1. Trie树基础与多语言特性解析 Trie树(前缀树)作为字符串处理的经典数据结构,其核心优势在于利用公共前缀减少查询时间。在单字节编码的英文场景中,每个节点通常包含26个子节点(对应字母A-Z)。但当处理多语…

📅 2026/8/23 1:52:44
MORE NEWS

更多资讯

📰

微信小程序贪吃蛇源码详解:从状态机到渲染实战

简介:一份基于微信小程序开发的贪吃蛇游戏完整源代码,面向微信小程序初学者、前端开发者以及对休闲游戏实现感兴趣的学习者,用来理解小程序项目结构、游戏循环与常见交互设计。资源包共22个文件,压缩后约414KB,主要包含…

📰

Astryx 主题规范(Theme Specifications):主题包决策的知识契约与 Neutral 实战解析

Astryx 主题规范(Theme Specifications):主题包决策的知识契约与 Neutral 实战解析 【免费下载链接】astryx An open source design system thats fully customizable and agent ready 项目地址: https://gitcode.com/GitHub_Trending/as/a…

📰

AI SDK:TypeScript 多 Provider 接入与 Agent 集成要点

const result await generateText({model: anthropic/claude-opus-4.6,prompt: Hello!, });import { anthropic } from ai-sdk/anthropic;const result await generateText({model: anthropic(claude-opus-4-6),prompt: Hello!, });这两段代码在 AI SDK 的 README 中并列出现…

📰

如何用camofox-browser批量提取页面所有链接和图片:完整教程

如何用camofox-browser批量提取页面所有链接和图片:完整教程 【免费下载链接】camofox-browser Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement. 项目地址: https:/…

📰

基于 Plasmo 构建 SurfSense 跨浏览器扩展:浏览历史采集插件的开发、构建与发布全指南

基于 Plasmo 构建 SurfSense 跨浏览器扩展:浏览历史采集插件的开发、构建与发布全指南 【免费下载链接】SurfSense Open-source NotebookLM alternative. Research the open web with live data(Reddit, YT, IG, TikTok, Indeed, Google Search, Maps etc) through …

📰

上位机与安川PLC通讯:MEMOBUS协议解析及C#调用VB.net控件实战

简介:这套上位机与安川PLC通讯控件及C#使用实例源码,由工控老马出品并亲测校正,主要面向工业自动化领域需要借助C#或VB.NET实现上位机与安川PLC通讯的开发者,既能帮助新手快速上手控件调用,也能为有经验的工程师提供可…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬