C语言进阶——数组(2)
昨天我们学习了一维整形数组的有关知识今天我们学习一维字符数组与二维数组。知识点如下分享给正在入门C语言的小伙伴。一、一维字符型数组C语言里面没有专门的字符串类型我们平时操作字符串全部依靠字符型数组实现这是一个关键点。字符数组基础定义格式char 数组名[元素个数];这里要注意方括号里的元素个数必须是常量不能用变量数组容量一定要留足空间字符串末尾自带结束符’\0’存储字符串时需要多占用1个位置存放它。定义示例char str[20];可以通过下标单独访问每一个字符str[0]、str[1]……存储空间大小区分char str[20];数组占用空间 数组元素总个数。我们可以用 sizeof(a)/sizeof(a[0]) 计算数组一共拥有多少个元素。但是sizeof 和后面会提到的strlen完全不是一个东西不可混淆。字符数组初始化初始化不等于赋值数组定义完成后不能直接写 str“hello”。几种合法初始化方式1. 完整初始化char str[6]{‘h’,‘e’,‘l’,‘l’,‘o’,‘\0’};char str[6]{“hello”};char str[6]“hello”;2. 局部初始化没有手动赋值的元素系统会自动初始化为0也就是等价于’\0’。char str[6]{‘h’,‘e’,‘l’};3. 默认初始化char str[]“hello”;其中默认初始化日常练习可以用但正式代码不推荐。注意0数字零‘\0’字符串结束符ASCII值等价于0‘0’字符0ASCII值是48三者千万不要混淆字符串输出printf(“%s”, str);puts(str);puts打印字符串之后会自动额外输出一个换行符。字符串接收输入scanf(“%s”, str);遇到空格就停止读取不能接收带空格的句子。gets(str);是危险函数编译器会警告存在缓冲区溢出风险尽量少使用。字符串常用操作库函数使用这些函数需要引入头文件 string.hstrlen() — 获取字符串有效长度从开头计数直到遇见’\0’不包含结束符。strcpy() — 字符串拷贝strcpy(str,“hello world”);目标数组空间必须足够大能够放下完整字符串否则发生越界。strcat() — 字符串拼接strcat(str1,str2);把str2接到str1末尾str1剩余空间要足够容纳拼接后的全部字符。strcmp() — 字符串比较ret strcmp(str1,str2);规则从左向右逐个对比字符ASCII码返回 0两个字符串完全相等返回 0str1大于str2返回 0str1小于str2不能直接用 判断两个字符串是否相等这是新手高频错误。二、二维整型数组定义格式int 数组名[行数][列数];int a[2][3];行数、列数都必须是常量。访问方式a[0][0]、a[0][1]、a[1][0]存储规则二维数组在内存里逐行连续存放。可以简单理解二维数组就是由多个一维数组组成的数组。初始化全部初始化int a[2][3]{1,2,3,4,5,6};int a[2][3]{{1,2,3},{4,5,6}};局部初始化未赋值元素自动初始化为0int a[2][3]{1,2,3,4};省略行数初始化注意行可以省略列绝对不能省略int a[][3]{1,2,3,4,5,6};看到这里今天的内容就已经结束了。我想提醒大家一维字符数组是现阶段的重中之重C语言字符串所有操作都建立在它之上。

相关新闻

AI学术写作助手:提升论文效率与规范性的关键技术

AI学术写作助手:提升论文效率与规范性的关键技术

1. 项目概述:AI如何重塑学术写作体验 第一次听说"书匠策AI"这个工具时,我正在熬夜修改一篇被期刊打回的论文。那种反复调整格式、核对引用、重写摘要的折磨,相信每个科研工作者都深有体会。这款专为学术写作设计的智能助手&#xf…

2026/11/8 21:25:34 阅读更多 →
GitHub热榜技术解析:AI工具链、Rust全栈与分布式数据库新趋势

GitHub热榜技术解析:AI工具链、Rust全栈与分布式数据库新趋势

1. GitHub热榜项目解析:2026年3月14日精选作为全球最大的开源代码托管平台,GitHub每日热榜总能反映技术社区的最新动向。2026年3月14日的榜单呈现出几个明显趋势:AI工具链项目持续霸榜,开发者效率工具出现新形态,而Web…

2026/11/6 2:46:14 阅读更多 →
MySQL INSERT 导致的死锁分析

MySQL INSERT 导致的死锁分析

MySQL INSERT 导致的死锁分析 在MySQL的并发事务处理中,死锁是一个常见且棘手的问题。许多开发者认为死锁只会在 UPDATE 或 DELETE 操作中发生,但实际上 INSERT 语句也能导致死锁。本文将从原理出发,深入剖析INSERT导致死锁的机制&#xff0c…

2026/10/30 13:40:12 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/9 14:01:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/9 14:56:39 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/9 1:59:56 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/9 14:01:10 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/9 7:45:06 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/9 14:01:11 阅读更多 →

日新闻

周新闻

月新闻