C语言总结(六) ---字符型数组
前言字符型数组是C语言处理文字、字符串的核心载体不同于普通整型数组它专门用来存放字符序列C语言依靠 \0 结束标记识别完整字符串。很多初学者容易混淆数组大小、实际字符个数、结束符三者的关系在初始化、遍历、字符串拼接、字符串比较时频繁踩坑。这份笔记梳理字符数组基础概念结合代码习题理清定义、访问、存储、输入输出的核心要点为字符串相关编程打下基础。字符型数组保存多个字符-----保存字符串1字符型数组定义char 数组名[常量]; 数组名标识符命名规则 char str[32]; --- sizeof(str) --- 32字节2字符型数组元素访问数组名[下标] str[0]; --- char注意下标避免数组越界3字符型数组的初始化局部初始化char str[32] {h,e,l,l,o}; char str[32] {hello}; char str[32] hello; 没有初始化的部分默认存储0\0字符。 0(ASCII码) --- \0 48(ASCII码) -- 0 0 --- 0\0全部初始化char str[5] {h,e,l,l,o}; char str[] {h,e,l,l,o}; --- 6字节 char str[] {hello}; //这两个一样 char str[] hello; 当[]中的常量被省略时将来数组空间按照初始化后的字符个数去确定额外增加\0字符的存储位置初始化为全0char str[32] {0}; //这两个一样 char str[32] {\0};4字符型数组的存储单一性char有序性str[0] --- str[n]连续性连续空间5字符型数组的输入输出strlen(str)计算字符串的长度字符型数组中有效字符的个数不包含\0sizeof(str)求字符型数组在内存中所占的字节数和空间开辟时大小有关输出#includestdio.h #includestring.h int main(void) { char str[32] {h,e,l,l,o, ,w,o,r,l,d}; //hello world int i 0; i strlen(str);//计算有效字符个数 printf(%d\n,i); printf(%s\n,str); puts(str); //自带换行符 /*以遍历的方式输出 int cnt 0; for(i 0;str[i] ! \0;i) { cnt; } printf(num %d\n,cnt); */ /* while(str[i] ! \0) { i; } printf(num %d\n,i); */ return 0; }输入char str[100] {0}; scanf(%s,str); //需要空格、tab、Enter停止读入 gets(str); //危险的函数有可能造成越界练习1.从终端输入字符串hello world将其中的小写字母转换成大写字母输出。2.将一个字符型数组中的字符串拷贝到另外一个字符型数组中。6字符型数组操作方法strlen获取字符串的长度strlen(str);strcpy把原字符串拷贝到目标字符型数组中strcpy(dst目标,src原);strcat将原字符串拼接到目标字符串的后面strcmp比较两个字符串大小总结字符型数组用于存储字符串定义时需要预留空间给末尾隐含的 \0 。初始化支持逐个字符赋值、双引号字符串赋值两种形式未初始化单元默认填充 \0 。访问元素依靠下标编程要严防下标越界。字符串不能直接用 、 做比较和拼接必须循环逐个字符操作。处理字符串的循环一般以 \0 作为终止判断条件 \0 是字符串结束的核心标志字符串处理题目几乎都围绕它展开。

相关新闻

Electron实战:将Web应用快速打包为跨平台桌面程序

Electron实战:将Web应用快速打包为跨平台桌面程序

1. 项目概述:为什么要把网页“装进”桌面?最近几年,很多开发者朋友都跟我聊起过同一个话题:手里有一个现成的、功能完善的Web应用,但用户总希望能有个像模像样的桌面版,能直接双击打开,能常驻在…

2026/7/30 6:45:51 阅读更多 →
基于STM32的放大器非线性失真测量系统设计:从FFT算法到硬件优化

基于STM32的放大器非线性失真测量系统设计:从FFT算法到硬件优化

1. 项目概述与核心挑战 “电赛2020E题”这个标题,对于参加过全国大学生电子设计竞赛的同学们来说,瞬间就能勾起一段充满挑战与激情的回忆。2020年的E题,全称是“放大器非线性失真研究装置”,它不像一些控制类题目那样有炫酷的运动…

2026/7/30 6:45:51 阅读更多 →
Flutter代码质量审计在鸿蒙生态的适配实践

Flutter代码质量审计在鸿蒙生态的适配实践

1. 项目背景与核心价值在Flutter跨平台开发领域,代码质量审计一直是工业级项目的痛点。workiva_analysis_options作为业界公认的Dart静态分析规则集,其包含的400条lint规则能有效约束代码风格、规避潜在风险。但随着鸿蒙生态的崛起,我们发现原…

2026/7/30 6:44:51 阅读更多 →

最新新闻

AI写作工具在学术论文中的应用与测评

AI写作工具在学术论文中的应用与测评

1. 论文写作工具测评背景与价值去年指导本科生论文时,有个场景让我印象深刻:一位学生对着空白文档发呆三小时,最后憋出的摘要满是语法错误。这促使我系统测试了市面上主流的AI写作工具,发现它们确实能显著降低写作焦虑。不同于泛泛…

2026/7/30 6:51:57 阅读更多 →
VL53L1X激光测距模块在STM32平台的企业级架构设计与性能优化实践

VL53L1X激光测距模块在STM32平台的企业级架构设计与性能优化实践

VL53L1X激光测距模块在STM32平台的企业级架构设计与性能优化实践 【免费下载链接】VL53L1X_STM32_module A simple VL53L1x module for STM32.Using software IIC 项目地址: https://gitcode.com/gh_mirrors/vl/VL53L1X_STM32_module 在嵌入式系统中实现高精度激光测距…

2026/7/30 6:51:57 阅读更多 →
USB 2.0高速握手协议:从信号原理到实战故障排查

USB 2.0高速握手协议:从信号原理到实战故障排查

1. 从“龟速”到“高速”:一次握手背后的技术革命你有没有遇到过这样的场景?把一块移动硬盘插到电脑上,明明接口是USB 2.0,但传输速度却慢得像在爬,拷贝一部电影要等上十几分钟。你可能会怀疑是硬盘坏了,或…

2026/7/30 6:51:57 阅读更多 →
STM32 SPI通信协议详解:从原理到实战驱动W25Q64 Flash

STM32 SPI通信协议详解:从原理到实战驱动W25Q64 Flash

1. 项目概述:从“点灯”到“对话”,为什么SPI是嵌入式开发的必修课玩过STM32的朋友,从点灯到串口打印,算是迈入了嵌入式世界的大门。但当你开始驱动一块TFT屏幕、读写一个SD卡,或者连接一个高精度的传感器时&#xff0…

2026/7/30 6:51:57 阅读更多 →
STM32 OLED调试显示模块:从驱动移植到printf式接口实现

STM32 OLED调试显示模块:从驱动移植到printf式接口实现

1. 项目概述:为什么需要一个OLED调试工具?在嵌入式开发,尤其是STM32这类MCU的项目中,调试信息的输出是贯穿整个开发周期的核心环节。早期我们可能依赖串口打印,通过USB转TTL模块连接到电脑的串口助手查看日志。但这种方…

2026/7/30 6:51:57 阅读更多 →
C++跨平台获取GPU信息:DXGI实现与工程实践指南

C++跨平台获取GPU信息:DXGI实现与工程实践指南

1. 项目概述:为什么需要获取GPU信息? 在C开发中,尤其是涉及到高性能计算、图形渲染、深度学习或者游戏引擎开发时,了解运行环境的GPU硬件信息不再是锦上添花,而是项目成功部署和性能优化的基石。想象一下,你…

2026/7/30 6:50:56 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

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

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

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

2026/7/29 22:18:20 阅读更多 →
深度学习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/29 15:00:03 阅读更多 →

月新闻