一维字符型数组+二维整型数组

发布时间:2026/7/29 4:18:36

一维字符型数组+二维整型数组
目录一、一维字符型数组1. 核心特性2. 字符型数组定义3. 字符数组存储空间4. 字符型数组初始化1全部初始化2局部初始化3默认初始化省略数组长度5. 字符串打印6. 字符串接收7. 字符串常用库函数8. 课后练习二、二维整型数组1. 二维数组定义2. 二维数组元素访问3. 二维数组存储规则4. 数组层级理解5. 二维数组初始化1全部初始化2局部初始化3默认初始化省略行数三、高频易错考点汇总C语言数组知识点总结一、一维字符型数组1. 核心特性C语言不存在独立的字符串类型字符串的存储与操作依靠字符型数组实现。2. 字符型数组定义格式数据类型 数组名[元素个数];[]内元素个数必须是常量数组容量必须充足要预留位置存放字符串末尾的结束标记\0。示例char str[20];数组元素访问方式str[0]、str[1] ... str[19]通过下标访问每一个字符。3. 字符数组存储空间字符型数组占用内存大小 数组元素总个数计算公式获取元素数量sizeof(a) / sizeof(a[0])。4. 字符型数组初始化注意初始化和赋值是两种不同操作数组定义完成后不能直接使用数组名整体赋值。1全部初始化charstr[6]{h,e,l,l,o,\0};charstr[6]{hello};charstr[6]hello;2局部初始化charstr[6]{h,e,l};charstr[6]{hel};charstr[6]hel;charstr[6]{0};规则未给定初始值的数组元素自动初始化为0。区分三个易混符号0数字零二进制00000000等价于\0\0字符串结束符二进制00000000等价于00字符0二进制00110000ASCII值为483默认初始化省略数组长度charstr[]{h,e,l,l,\0};charstr[]{hel};charstr[]hel;编译器自动根据初始化内容计算数组长度开发中尽量避免此种写法。5. 字符串打印printf(%s, 字符数组名);charstr[20]{hello world};printf(str %s\n,str);puts(字符数组名);charstr[20]{hello world};puts(str);特性puts输出字符串后会自动额外打印换行符\n。6. 字符串接收scanf(%s, str);charstr[32]{0};scanf(%s,str);缺陷遇到空格、回车会停止读取。2.gets(str);charstr[32]{0};gets(str);补充gets函数存在缓冲区溢出风险新标准C语言已经废弃该函数。7. 字符串常用库函数使用以下函数需要引入头文件string.h字符串长度统计 strlen()strlen(数组名)统计有效字符串长度不包含末尾\0sizeof(数组名)获取整个数组占用内存总大小包含全部空间charstr[32]{hello};intlenstrlen(str);字符串拷贝 strcpy()strcpy(str,hello world);注意目标字符数组空间必须足够大能够存放源字符串包含\0否则发生内存越界。字符串拼接 strcat()charstr1[32]{hello};charstr2[32]{world};strcat(str1,str2);注意目标数组str1剩余空间必须容纳拼接后的完整字符串。字符串比较 strcmp()retstrcmp(str1,str2);比较规则从左向右依次对比字符ASCII码遇到不同字符立即结束比较。返回值规则返回0两个字符串完全相等返回0第一个字符串大于第二个字符串返回0第一个字符串小于第二个字符串二、二维整型数组1. 二维数组定义格式数据类型 数组名[行数][列数];示例int a[2][3];要求行数、列数方括号内必须填写常量。2. 二维数组元素访问格式数组名[行下标][列下标]示例a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]3. 二维数组存储规则数组占用总内存 单个元素所占字节 × 元素总个数内存存放顺序逐行、从左到右连续存储4. 数组层级理解二维数组可以看作由多个一维数组组成的一维数组N维数组可以看作由多个N-1维数组组成的一维数组。5. 二维数组初始化1全部初始化inta[2][3]{1,2,3,4,5,6};inta[2][3]{{1,2,3},{4,5,6}};2局部初始化inta[2][3]{1,2,3,4};inta[2][3]{{1,2},{3}};inta[2][3]{0};inta[2][3]{{0}};未显式初始化的元素默认自动赋值为0。3默认初始化省略行数重点列数绝对不能省略行数可以由编译器自动推算inta[][3]{1,2,3,4,5,6};inta[][3]{1,2,3,4};inta[][3]{{1,2},{3}};

相关新闻

STM32与A5000实现物联网安全连接方案

STM32与A5000实现物联网安全连接方案

2026/7/29 4:18:35

1. 硬件选型与安全架构设计在物联网设备开发中,安全连接云端服务是核心需求。我们选择了STM32F215RE作为主控芯片,搭配A5000加密芯片的方案,主要基于以下考量:STM32F215RE的优势:内置硬件加密加速器(AES、D…

服装档口数字化转型:微信抖音双平台运营实战指南

服装档口数字化转型:微信抖音双平台运营实战指南

2026/7/29 4:08:35

1. 服装档口转型的行业背景与痛点去年冬天我去广州十三行调研时,发现一个有趣现象:上午十点的批发市场里,半数档口老板都在同时操作三台手机——一台接微信订单,一台回复抖音咨询,还有一台在拍新款短视频。这种"三…

C++通讯录管理系统:从零实现面向对象编程与STL容器应用

C++通讯录管理系统:从零实现面向对象编程与STL容器应用

2026/7/29 4:08:35

1. 项目概述:为什么选择通讯录管理系统作为C入门项目?如果你刚开始学习C,面对指针、类、STL这些概念感觉一头雾水,或者写了几行“Hello World”后不知道下一步该做什么,那么亲手实现一个“通讯录管理系统”绝对是一个绝…

STM32 GPIO入门:从LED与按键控制理解微控制器基础

STM32 GPIO入门:从LED与按键控制理解微控制器基础

2026/7/29 5:18:38

1. 项目概述:从点灯开始,走进STM32的世界 如果你刚拿到一块STM32开发板,看着密密麻麻的引脚和陌生的开发环境,不知道从何下手,那么恭喜你,找对地方了。几乎所有嵌入式工程师的STM32之旅,都是从控…

国内合规使用Gemini与ChatGPT的替代方案与实践

国内合规使用Gemini与ChatGPT的替代方案与实践

2026/7/29 5:18:38

1. 项目背景与现状分析在人工智能技术快速发展的当下,大型语言模型已经成为各行各业的重要工具。Gemini和ChatGPT作为当前最受关注的两大AI模型系列,其最新版本Gemini 3和ChatGPT 5(假设版本)因其强大的自然语言处理能力而备受期待…

STM32高级定时器实现三相PWM相位同步与电机驱动配置详解

STM32高级定时器实现三相PWM相位同步与电机驱动配置详解

2026/7/29 5:18:38

1. 项目概述与核心需求解析最近在做一个电机驱动的项目,核心控制板用的是STM32,需要生成三路相位互差120度的PWM波来驱动三相全桥。一开始觉得用CUBEMX配置一下定时器,再用HAL库写几行代码应该挺简单的,结果真上手才发现&#xff…

MATLAB IIR滤波器设计实战:从系数计算到FPGA实现全解析

MATLAB IIR滤波器设计实战:从系数计算到FPGA实现全解析

2026/7/29 5:18:38

1. 从“闪退”到“设计”:IIR滤波器在MATLAB中的完整实战路径最近在论坛和群里,看到不少朋友被MATLAB的“闪退”问题折腾得够呛,尤其是在跑一些信号处理仿真,比如设计IIR滤波器的时候。这让我想起自己刚接触数字信号处理那会儿&am…

我review了一份Vibe Coding写的前端代码——能跑,但5个地方迟早要命

我review了一份Vibe Coding写的前端代码——能跑,但5个地方迟早要命

2026/7/29 5:18:38

上周帮一个做独立项目的朋友看代码。他用Claude Code Cursor,三天做了一个完整的React管理后台——能登录,能CRUD,能导出Excel,页面UI还不错。 他说:“你帮我看看,准备上线了。” 我打开项目,n…

Spring Boot整合MyBatis实战:动态SQL安全、MyBatis-Plus高效操作与生产级配置详解

Spring Boot整合MyBatis实战:动态SQL安全、MyBatis-Plus高效操作与生产级配置详解

2026/7/29 5:08:38

1. 项目概述:为什么“常用”二字值得深挖接手一个Spring Boot项目,数据访问层十有八九会用到MyBatis。网上关于“Spring Boot整合MyBatis”的入门教程铺天盖地,教你配个依赖、写个Mapper注解、跑通一个UserMapper的selectById,就算…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/28 16:04:36

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

AI会议纪要怎么做?会议录音转文字加自动整理,三个月实测流程

AI会议纪要怎么做?会议录音转文字加自动整理,三个月实测流程

2026/7/29 0:08:23

打工人总是跑不掉要写会议纪要。 我在一家互联网公司,一周至少八场会:产品评审、数据复盘、项目同步、客户沟通,每场一小时起步。 以前的标准流程是开会拼命记→会后凭记忆补→整理成文档发群,结果经常记不全、记错、记串。 大概年…

重庆化龙桥老旧小区改造,怎么搞定夜景照明“不扰居”又能省成本?

重庆化龙桥老旧小区改造,怎么搞定夜景照明“不扰居”又能省成本?

2026/7/29 0:08:23

重庆化龙桥靠着嘉陵江,老小区多,最近几年城市更新做的勤,不少住户都反映过小区夜景亮了是好事,可有的灯太晃眼,半夜拉着窗帘都透光,睡不好觉。还有物业算账,这灯开一整晚,公摊电费蹭…

目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案

目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案

2026/7/29 0:08:23

更多请点击: https://codechina.net 第一章:目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案 目标模糊:学得越勤,离真实能力越远 当学习目标停留在“学会AI”或“搞懂大模型”这类宽泛表述…