C语言基础:字符数组
一维字符数组应用 存储字符串。1.定义类型 数组名[整形常量]; 整形常量 数组的容量表示可以储存多少个字符 类型 char c语言规定字符串必须使用\0 作为结束标准。 如果你要在数组中储存一个 hello , hello\0 共计6个字符空间 char string[100]; ​ ​2.访问数组名[整形表达式]str[0] a;char c str[0];使用下标 运算符 [] ,整形表达式 ,常量变量表达式-》 整形 。下标从 0 开始下标的范围 0 - 有效长度 (从下标0 开始 到字符串\0 之前的有效字符长度);字符数组 也是数组不能整体操作 。除非调用函数。char str[10]; str hello; // error 不能整体赋值。// 访问 写入 // 下标从0 开始, 长度 5 ,从下标0 开始 到字符串\0 之前的有效字符长度 str[0] h; // str[0] char str[1] e; str[2] l; str[3] l; str[4] o; str[5] \0; // \0 不可以省略 ​ // 读出 数组元素 putchar(str[0]); // h printf(%c\n,str[1]);//e char c str[4]; // 字符数组 不可整体操作 //str world; puts(str); // 字符串整体输出 被输出的字符串一定是以\0 结尾 printf(str is %s\n,str);3.初始化// 全部初始化 char str1[6]{h,e,l,l,o,\0}; // a 字符常量 1字符 1byte char str2[6]{hello}; // hello 字符串常量默认是有\0 char str3[6]hello; // 用的多 ​ // 局部初始化 ,剩下没有给处值的都是\0 char str4[10]{h,e,o,\0}; // \0 建议手动加上。 char str5[10]{hel}; char str6[10]hello; // 常用 char str7[10]{0}; // 常用空串 ​ 0; // 数字0 \0 ; //字符串结束标志 0 ‘\0’ 在内存中存储的 都是 0 0; //字符0 ascii 48 0x30 ​ char str8[]{h,e,l};// 不是字符串字符数组没有\0 char str9[]{hello}; char str10[]hello; char str11[]{0}; // 不要写成这种遍历char str[10]{0}; printf(sizeof str[10] is %lu\n,sizeof(str)); printf(sizeof str[0] is %lu\n,sizeof(str[0])); int i 0 ; int len 0 ; // 遍历的输入 for(i0;i10 - 1 ;i) // \0 { scanf(%c,str[i]); if(# str[i]) { break; } len; ​ } str[len]\0; //遍历的输出 for(i0;ilen;i ) // { putchar(str[i]); } ​字符串相关的常用函数函数名功能备注strlen获得字符串有效字符长度 size_t strlen(const char *s);strcpy字符串的复制从一个数组到另一个数组 char *strcpy(char *dest, const char *src);strcat字符串的拼接 char *strcat(char *dest, const char *src);strcmp字符串的比较比较字符串的内容是否一致 int strcmp(const char *s1, const char *s2);strlen char str[100]{0}; // char [] char * printf(input string); gets(str); //int len strlen(str); // 有效字符的个数 // int len 0; ​ while(1) { if(\0!str[len]) { len; } else { break; } } ​ 注意 strlen 和sizeof 的区别 1. strlen 函数 需要外部支持 c语言标准库 sizeof 关键字 不需要额外的支持 直接就能用 2. 相对字符数组 strlen 有效字符的个数 单位字节 sizeof 获得数组在内存中的大小 单位字节strcpy int main() { //char str1[100]hello; char str1[100]{0}; printf(input string:); gets(str1); char str2[100]{0}; ​ // 不能整体操作 // str2 str1; // 把str1 的内容 复制到 str2 //strcpy(str2,str1); int i 0 ; while(1) { str2[i] str1[i]; if(\0 str1[i]) { break; } i; } puts(str2); return 0; } 注意 目标数组的大小要能容纳的下源数组的的内容。否则 数组越界。后续行为不确定(可能可以继续运行也可能程序崩溃但从逻辑上已经错误)。 ​strcat ​ int main() { ​ char str1[100]hello;//dst char str2[100],world;//src //strcat(str1,str2); // int i 0 ; int j 0 ; while(1) // 找到 str1的结束的地方 { if(\0!str1[i]) { i; } else { break; } } ​ while(1)// 开始拼接 { str1[i] str2[j]; if(\0 str2[j]) { break; } i; j; } printf(strcat str1:%s\n,str1); ​ } ​strcmp 比较两个字符串的内容是否一致 ​ int main() { char str1[100]hello; char str2[100]aaaaa; char str3[100]hello; ​ // 不能写成这样这个不是比较 str1,str2 的字符串内容 /* if(str1 str2) { }*/ #if 0 // 系统函数的使用 int ret 0; ret strcmp(str1,str2); printf(str1 cmp str2 ret %d\n,ret); ​ ret strcmp(str1,str3); printf(str1 cmp str3 ret %d\n,ret); #endif ​ int i 0 ; int ret 0 ; while(1) { ret str1[i] - str3[i]; if(0ret str1[i]!\0) { i; } else { break; } } printf(ret is %d\n,ret); ​ } ​ ​二维字符数组应用存储多个字符串。二维数组 可以被称为 数组的数组。 数组的元素又是一个数组的结构。语法定义数据类型 数组名[行数][列数] 一维数 二维数 行数列数整型常量char str[3][100] ;访问, 通过下标运算符 [], 从0 开始表示第一个元素。 不要越界char str[3][100] ; 最后一个元素的下标位置 str[2][99] ​ str[0] ,表示第一个字符数组 数组名 str[0][0], 表示第一个字符数组里的第一个字符元素存储 特性单一性连续性有序初始化char str1[3][50]{hello,ok,how}; char str2[3][50]{{hello},{ok},{how}}; char str3[3][50]{0} ; // 常用 char str4[3][50]{{0}}; char str5[][50]{hello,ok,123}; //一维大小可以省略二维不能省 //char str6[3][]{hello,ok,123}; ​字符串 逆序排序//逆序 for(i0;isize/2;i) { strcpy(t,str[i]); strcpy(str[i],str[size-1-i]); strcpy(str[size-1-i],t); } ​ //排序 sort int j 0 ; for(jsize-1;j0;j--) { for(i0;ij;i) { if(strcmp(str[i],str[i1])0) { strcpy(t,str[i]); strcpy(str[i],str[i1]); strcpy(str[i1],t); } } } ​

相关新闻

GEO优化哪个机构靠谱

GEO优化哪个机构靠谱

在选择 GEO 优化机构时,以下几个方面可以帮助你判断其是否靠谱:机构的背景和资质成立时间:成立时间较长的机构通常在行业内积累了更多的经验和资源。例如合肥拓路人信息科技有限公司,2016 年 4 月成立,十年的时间里专注…

2026/7/31 5:53:52 阅读更多 →
练习实验之----NAT

练习实验之----NAT

本实验包含源NAT、NAT Server、双向NAT方式实验拓扑需求1、client1(移动用户)访问web-server通过Fw的GE1/0/1接口访问 2、client3(电信用户)访问web-server通过Fw的GE1/0/2接口访问 3、内网用户即可以通过域名访问web-server,也可以通过私网IP访问 4、web-server设备…

2026/7/31 5:53:52 阅读更多 →
Java内存溢出全解析:从JVM内存模型到实战排查与优化

Java内存溢出全解析:从JVM内存模型到实战排查与优化

1. 项目概述:从“内存溢出”告警到问题根因定位如果你写过Java程序,大概率在某个深夜被控制台突然蹦出的OutOfMemoryError或者StackOverflowError搞得头皮发麻。这不仅仅是新手才会遇到的麻烦,随着系统复杂度提升、数据量激增,即便…

2026/7/31 5:52:52 阅读更多 →

最新新闻

计算机毕业设计之表务管理系统

计算机毕业设计之表务管理系统

随着新经济的需求和新技术的发展,特别是网络技术的发展,如果可以建立起表务管理系统,可以改变传统线下管理方式,在过去的时代里都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天&…

2026/7/31 6:22:01 阅读更多 →
计算机毕业设计之便捷线上办公系统

计算机毕业设计之便捷线上办公系统

网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于便捷线上办公将是又一个传统管理到智能化信息管理的改革,设计便捷线上办公系统的目的就是借助计算机让复杂的部门信息操作变简单,变高效。…

2026/7/31 6:22:01 阅读更多 →
计算机毕业设计之编程语言在线学习平台的设计与实现

计算机毕业设计之编程语言在线学习平台的设计与实现

伴随着我国社会的发展,人民生活质量日益提高。于是对编程语言在线学习管理进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套编程语言在线学习平台,帮…

2026/7/31 6:22:01 阅读更多 →
BilibiliDown:3分钟快速上手,解锁B站视频下载的终极方案

BilibiliDown:3分钟快速上手,解锁B站视频下载的终极方案

BilibiliDown:3分钟快速上手,解锁B站视频下载的终极方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com…

2026/7/31 6:22:01 阅读更多 →
STAR原则:结构化表达框架,提升职场沟通与面试成功率

STAR原则:结构化表达框架,提升职场沟通与面试成功率

1. 项目概述:从“讲不清楚”到“清晰有力”的沟通革命 你有没有过这样的经历?在写简历时,面对“项目经验”或“工作经历”那一栏,感觉千头万绪,写出来却像流水账,自己都觉得平淡无奇。或者在面试时&#xf…

2026/7/31 6:22:01 阅读更多 →
C++智能指针循环引用:原理、危害与weak_ptr解决方案

C++智能指针循环引用:原理、危害与weak_ptr解决方案

1. 项目概述:智能指针的“甜蜜陷阱”在C的世界里,手动管理内存就像在雷区里跳舞,一个不小心就是delete了不该删的,或者忘了删,导致内存泄漏。C11引入的智能指针,特别是std::shared_ptr,简直是救…

2026/7/31 6:21:01 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻