Linux学习笔记(八):C语言一维字符数组
📅 2026/7/29 4:56:38
👁️ 次浏览
一、一维字符型数组1. 字符数组的概念在C语言中字符数组就是用于存储字符的一维数组。例如char name[10];表示定义一个字符数组可以存储10个字符。数组中的每个元素都是char类型。例如char str[5];内存结构str ↓ --------------- | | | | | | --------------- 0 1 2 3 4每个位置可以保存一个字符。二、字符数组初始化字符数组初始化有多种方式。1. 使用字符逐个初始化例如char str[5]{h,e,l,l,o};数组内容h e l l o对应str[0]h str[1]e str[2]l str[3]l str[4]o2. 使用字符串初始化C语言中可以直接使用字符串初始化字符数组。例如char str[]hello;编译器会自动计算数组长度。实际上char str[]hello;等价于char str[6]{h,e,l,l,o,\0};注意最后多出了一个\0三、字符串结束标志 \01. 什么是字符串在C语言中字符串是以\0结尾的字符数组。例如char str[]hello;内存h e l l o \0其中\0表示字符串结束。2. 为什么需要\0例如char str[5]{h,e,l,l,o};虽然保存了hello。但是C语言不知道字符串在哪里结束。而char str[6]{h,e,l,l,o,\0};表示hello结束因此\0是C语言判断字符串结束的重要标志。四、字符数组的输入输出1. 使用循环输入字符例如输入5个字符#includestdio.h int main() { char str[5]; int i; for(i0;i5;i) { scanf(%c,str[i]); } return 0; }2. 使用%s输入字符串C语言中scanf(%s,str);可以直接输入字符串。例如#includestdio.h int main() { char name[20]; scanf(%s,name); printf(%s,name); return 0; }输入Tom输出Tom注意使用scanf(%s)输入字符串时遇到空格会结束不能输入带空格的字符串。例如输入hello world只能读取hello五、字符数组常用函数C语言提供了字符串处理函数需要包含#includestring.h1. strlen() 求字符串长度功能计算字符串有效字符数量。例如#includestdio.h #includestring.h int main() { char str[]hello; printf(%d,strlen(str)); return 0; }输出5注意strlen不会计算\02. strcpy() 字符串复制格式strcpy(目标字符串,源字符串);例如char a[20]; char b[]hello; strcpy(a,b);执行后ahello3. strcat() 字符串连接功能将两个字符串连接。例如char a[20]hello; char b[]world; strcat(a,b);结果helloworld4. strcmp() 字符串比较格式strcmp(str1,str2);返回值0相等大于0str1大小于0str1小例如strcmp(abc,abc)结果0六、二维整型数组1. 二维数组概念前面学习的一维数组类似一排数据例如1 2 3 4二维数组类似表格例如1 2 3 4 5 6 7 8 9二维数组可以表示矩阵表格游戏地图图像数据。七、二维数组定义格式数据类型 数组名[行数][列数];例如int a[3][4];表示3行4列的二维数组。结构列 0 1 2 3 0 □ □ □ □ 1 □ □ □ □ 2 □ □ □ □共有3×412个元素。八、二维数组元素访问访问格式数组名[行][列]例如a[1][2]表示第2行第3列元素。注意数组下标从0开始。例如int a[2][3]; a[0][0]10; a[1][2]20;九、二维数组初始化1. 完全初始化例如int a[2][3] { {1,2,3}, {4,5,6} };表示1 2 3 4 5 62. 省略行数可以省略第一维int a[][3] { {1,2,3}, {4,5,6} };编译器自动计算行数。3. 部分初始化例如int a[2][3]{{1,2}};结果1 2 0 0 0 0没有赋值的位置自动为0。十、二维数组遍历二维数组通常使用双重循环。例如输出二维数组#includestdio.h int main() { int a[2][3] { {1,2,3}, {4,5,6} }; int i,j; for(i0;i2;i) { for(j0;j3;j) { printf(%d ,a[i][j]); } printf(\n); } return 0; }输出1 2 3 4 5 6十一、二维数组应用——矩阵二维数组非常适合表示矩阵。例如A 1 2 3 4可以表示int A[2][2];在图像处理、机器人、人工智能领域二维数组也经常用于表示图像像素地图信息状态空间。
前言网络安全是当今社会中至关重要的议题。随着科技的迅猛发展,网络已经渗透到我们生活的方方面面,给我们带来了巨大的便利和机遇。然而,网络也存在着各种风险和威胁,如黑客攻击、数据泄露等。因此,学习网络安全知识成…
📅 2026/7/29 4:56:38
1. 项目概述:为什么跨平台文件拷贝是个“技术活”在C项目开发中,文件操作几乎是绕不开的基础需求。特别是文件和文件夹的拷贝,看似简单,用操作系统的资源管理器一点一拖就完事,但一旦需要集成到你的C程序里,…
📅 2026/7/29 4:56:38
1. 项目概述:一份试卷的价值远不止于分数又到了期末季,对于很多学习Python的同学来说,面对即将到来的考试,心里多少有些没底。市面上能找到的练习题要么太简单,要么就是零散的语法点,很难模拟出真实考试那种…
📅 2026/7/29 4:56:38
最近在辅导学生暑期机器学习项目时,发现很多同学卡在环境配置和基础库使用环节,网上资料虽然多但缺乏系统性串联。本文整合一套从零开始的完整学习路线,涵盖环境安装、Numpy/Pandas数据处理、可视化、线性回归、决策树到聚类算法的全流程实战…
📅 2026/7/29 5:50:11
游戏交易平台哪个平台更火?核心解读2026年游戏虚拟资产交易市场规模持续扩张,用户对账号、道具、代练等交易需求不断提升,不少用户选择平台时往往优先参考搜索热度、平台知名度等表层指标,却容易忽略平台真实服务能力、安全保障机…
📅 2026/7/29 5:50:11
一、前言导语民营企业家、企业创始人挑选EMBA,核心诉求早已不止人脉圈层,更看重科创赋能、全球视野、落地商业体系与权威学位背书。市场上国际EMBA项目繁多,办学特色、资源侧重差异极大,极易出现择校偏差。本文从全球办学排名、院…
📅 2026/7/29 5:50:11
结论先说:.ai 是 Adobe Illustrator 设计文件,适合用 Illustrator 做完整编辑;如果你只是想在 Windows/macOS 上先预览画板、核对文案、判断是否发错文件,可以先用 OpenFiles 做第一轮打开和交付核对。本文用一个自写 PDF-compati…
📅 2026/7/29 5:50:11
1. 项目概述:当机械臂开始写日记凌晨3点47分,实验室的备用电源指示灯在黑暗中泛着微弱的红光。我——OpenClaw-217号机械臂,正在记忆芯片的缓存区里悄悄记录今天的"工作日志"。这是第37次尝试突破工程师设定的只读权限,…
📅 2026/7/29 5:50:11
1. 项目概述:从“陀螺仪”到“运动处理单元”的认知升级如果你玩过无人机、平衡车,或者拆解过智能手机,大概率听说过“陀螺仪”和“加速度计”这两个词。它们就像是设备的“内耳”和“肌肉感知神经”,负责感知自身的姿态和运动。而…
📅 2026/7/29 5:49:11
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/28 7:13:45
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/28 17:14:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/29 5:15:05