09-C语言-二维字符串-函数
二维字符串数据初始化char 变量名[行][列] {字符串1, 字符串2...};char date[12][32] {0};行就是字符串的数量列为每个字符串的元素数量打印只使用一个for遍历行也就是每个字符串即可赋值字符串不能对整体进行赋值或操作但可以使用复制函数来进行赋值strcpy(date[0], january);strcpy(date[1], february);strcpy(date[2], march);strcpy(date[3], april);strcpy(date[4], may);strcpy(date[5], june);strcpy(date[6], july);strcpy(date[7], august);strcpy(date[8], september);strcpy(date[9], october);strcpy(date[10], november);strcpy(date[11], december);函数功能能够避免重复性的代码可以让程序更加模块化位置在int main(void)的上面函数的三种形式函数的定义函数类型 函数名数据类型1 形参1 数据类型2 形参2 ...{函数体返回值}函数名要求与变量名保持一致形参形式参数用来展示函数对数据的处理方式前面必须要有数据类型。函数类型表示函数结果的类型默认返回0为int如果不需要返回值的话返回值类型由函数类型决定如果返回值与函数类型不一致时。函数类型不写默认为int类型void 缺省类型没有返回值函数的调用函数名实参1 实参2调用的时候就不需要加参数的数据类型了如果实参类型与形参类型不一致以形参参数为主主调函数主动调用函数的函数被调函数被别人调用的函数传参主调函数调用被调函数会把实参的值传递给形参实参个数必须与形参一一对应如果实参与形参类型不匹配则将实参数类型强制转化为形参类型再传参函数的声明函数类型 函数名数据类型1 形参1 数据类型2 形参2 ...注意函数声明小括号后必须有分号函数定义小括号后不加分号如果被调函数在main函数下方定义需要对函数进行声明将带函数类型的第一行放在main函数前如果被调函数在主调函数上方声明就不用声明了变量的作用区域以及生存周期变量的作用区域局部变量变量在{}中定义所以作用区域在{}中不能跳到其他同级{}或上级{}全局变量定义在头文件后在所有的{}之外全部可以使用变量的生命周期变量从开辟空间到回收空间数据的存储类型存储类型 数据类型 变量名auto 程序自动存储-内存的栈区register 寄存器类型-CPU中快寄存器满了等价与auto类型extern 外部声明 声明不具备创建空间功能只能有一个main函数声明变量或函数是外部存储的extern int a;extern int b;extern int jia(int a, int b);static 静态存储-外存-a.out中限定变量或函数的作用域只能在本文件中使用使用extern也调用不了静态存储防止多文件编程时变量或函数名冲突1.未经初始化时值为0值2.编译时为变量分配存储空间运行时将空间加载内存数据区中3.程序结束回收空间以下为内存空间 变量的定义以及初始化只会在 编译时执行一次 用于开辟空间后续不再重复执行内核栈区-auto-自动型存储-局部变量操作系统管理区域局部变量未经初始化变量区域随机值1.未经初始化为随机值2.程序执行到变量定义时为变量开辟空间3.程序执行超过变量的作用区域回收空间堆区程序员手动管理区域数据区 对为初始化的变量清0然后接收a.out的数据特点1.未经初始化时值为0值2.编译时为变量分配存储空间运行时将空间加载内存数据区中3.程序结束回收空间类型1.字符串常量区双引号括起来的2.未初始化全局变量/静态变量3.已初始化全局变量/静态变量文本区存放代码指令函数函数传参1.值传递实参将值传递给形参

相关新闻

C++高并发内存池:三层架构设计与无锁优化实战

C++高并发内存池:三层架构设计与无锁优化实战

1. 项目概述与核心价值聊到C,内存管理是个绕不开的话题。从new/delete到malloc/free,手动管理内存带来的灵活性与性能优势是巨大的,但随之而来的内存碎片、泄漏和性能瓶颈也让无数开发者头疼。尤其是在高并发场景下,比如一个在线游…

2026/10/20 10:53:36 阅读更多 →
Matplotlib误差棒绘制全解析:从原理到专业级可视化实践

Matplotlib误差棒绘制全解析:从原理到专业级可视化实践

1. 项目概述:误差棒,不只是“误差”在数据可视化领域,尤其是科研、工程和数据分析报告中,我们常常需要展示数据的不确定性或离散程度。这时,一个简单却至关重要的图形元素——误差棒,就登场了。你可能在无数…

2026/10/19 11:24:30 阅读更多 →
从原理到实践:MEMS加速度计选型、电路设计与校准全攻略

从原理到实践:MEMS加速度计选型、电路设计与校准全攻略

1. 项目概述:从“测量加速度”到感知世界“测量加速度”这四个字,听起来像是大学物理实验课或者传感器教材里一个平平无奇的章节标题。但如果你把它看作一个项目,一个需要你亲手去实现、去验证、去应用的任务,那它的内涵和外延就完…

2026/10/19 16:24:54 阅读更多 →

最新新闻

Win11本地部署DeepSeek-R1:Ollama实操与避坑指南

Win11本地部署DeepSeek-R1:Ollama实操与避坑指南

简介:面向 Windows 11 用户与 AI 应用爱好者的 DeepSeek-R1 本地部署指南,围绕 Ollama 工具详细介绍在个人电脑上运行大模型所需的软硬件准备、环境搭建与调用方法,不仅降低使用门槛,还能帮助读者摆脱云端依赖,兼顾数据…

2026/10/20 12:10:04 阅读更多 →
自监督学习如何让AI Agent从原始数据中学会本领

自监督学习如何让AI Agent从原始数据中学会本领

训练一个Agent,最憋屈的事是什么?我觉得是人手跟不上。数据标注的进度永远比模型迭代慢半步:你想让机器人在仓库里学会识别货架缝隙,得先让标注员一帧一帧框出来;想让对话Agent学会判断用户情绪,得先雇人给…

2026/10/20 12:10:04 阅读更多 →
AI生成内容如何降低AI疑似度?嘎嘎降AI使用指南与避坑全攻略

AI生成内容如何降低AI疑似度?嘎嘎降AI使用指南与避坑全攻略

最近两个月,找我聊“AI写出来的东西发不出去”的人明显变多了。无论是做自媒体、写公众号、搞电商文案,还是在读学生写课程报告,很多人的操作路径都是一样的:先让AI把初稿拉出来,自己再改改就发,结果拿到第…

2026/10/20 12:10:04 阅读更多 →
STM32按键控制LED亮度:PWM占空比、定时器与去抖实战解析

STM32按键控制LED亮度:PWM占空比、定时器与去抖实战解析

简介:面向STM32入门学习者的按键控制LED亮度实战工程,基于STM32F103完成六个按键对LED六档亮度的调节。工程围绕GPIO输入检测、定时器PWM输出、中断响应与按键去抖动展开,既适合作为单片机课程实验,也可用于智能灯光等嵌入式项目的…

2026/10/20 12:10:04 阅读更多 →
自监督学习:用未标记数据提升AI Agent能力

自监督学习:用未标记数据提升AI Agent能力

最近在折腾 AI Agent 的时候,我越来越确定一件事:真正卡住 Agent 的不是模型结构,而是数据。市面上大多数 Agent 的能力都是靠人工标注堆出来的——让人写指令、标答案、标偏好,成本高不说,还很难把环境里那些“默认就…

2026/10/20 12:10:04 阅读更多 →
std::promise彻底讲透:多线程结果传递与异常处理的实战指南

std::promise彻底讲透:多线程结果传递与异常处理的实战指南

std::promise 这个词,很多同学在简历里写过“熟悉多线程编程”,但真到面试官追问起来,往往只能背出“用来配合 future 获取线程结果”这一句。再往下问一问内部机制、异常传递、析构行为,就支支吾吾了。这不能怪大家,网…

2026/10/20 12:09:04 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →