Linux学习-字符串数组和字符串

article/2024/4/13 14:08:06

目录

使用场景

字符型数组定义:

   初始化

数组储存

打印

字符型数组常见函数

常见操作

strcpy:字符串拷贝        

strcat(str1,str2)字符串拼接

strcmp:字符串比较

注意:

二维字符型数组


使用场景

:c语言没有字符串类型,也无法定义字符串变量,只能通过字符型数组,每个元素存放一个字符,最终存放字符串

字符型数组定义:

数据类型  数组名  [元素个数]

char           str          [20] ;

注意:元素个数必须是常量或者常量表达式

           元素个数必须能够容纳下所有字符,包括\0

字符型数组和字符串的区别:字符型数组可以存放字符,不一定包含\0,字符串末尾必须要有\0

字符串以\0来结尾,但是还是不会丢掉后面的\0

   初始化

初始化不能与赋值

全部初始化:char str [6] = {'a','d','r','r','e','\0'};

                        char str [6] = {"heelo"};        

                        char str [6] = "heelo";      

局部初始化:  char str [6] = {'r','e','\0'};  没有给定初值的元素,值为0(\0)

                         char str [6] = {"hee"};        

                        char str [6] = "hee";      

                             char str [6] = {0};是清零        char str [6] = "0";不是是清零      

默认初始化:char str [] = {'a','d','r','r','e','\0'};

                         char str [] = {"heelo"};        

                        char str [] = "heelo";   

数组储存

字符型数组所占字节  =  元素个数

连续性储存

打印

printf("%c",a[n]);打印单个字符

printf("%s",a);打印一串字符 一直到\0,没有\0就会越界找,程序就会有崩溃的风险

puts(a)

注意:打印字符串会打印到最近的一个\0就会结束打印

scsanf("%s",a); 只有%c可以接收空格,有空格要用

gets(a);接收带空格的字符串

确保字符串末尾由\0

字符型数组常见函数

strlen:获得字符串的长度(从字符串开头到最近的\0中间元素的个数,不包含\0)

scanf:获得所占内存大小,包括\0

常见操作

strcpy:字符串拷贝        

拷贝字符串,不太安全

strcpy(目的空间,拷贝数据);

目的空间一定要比拷贝数据大,要不然就会内存越界

strcat(str1,str2)字符串拼接

:将str2拼接到str1的末尾

strcmp:字符串比较

字符串的比较,如果两个字符串相同,结果为零

如果第一个字符串>第二个字符串 ,结果为>0的值

如果第一个字符串<第二个字符串 ,结果为<0的值

两个字符串比较,从左到右每个字符进行比较,不同的字符,谁的ASCII码值大,字符串就大

注意:

上述参数常量和变量都可以

二维字符型数组

定义:数据类型  数组名  [行数][列数];

char  str [5] [32]

存储:和二维数组类似

连续性,有序性

初始化:一般是局部初始化,和二维数组类似

二位字符型数组也可以看作是由两个以为字符型数组构成的


http://www.ngui.cc/article/show-1927792.html

相关文章

突破编程_C++_面试(异常处理)

面试题 1 &#xff1a;什么是异常处理&#xff1f;为什么需要它&#xff1f; 在C中&#xff0c;异常处理是一种处理程序运行时错误的机制。它允许程序员在程序的某个部分中定义和处理可能会出现的异常情况&#xff0c;即“异常”。这些异常情况通常是由错误条件、非法操作或其…

2、补充 收集数据、并行数据处理能力与性能

第6章 用Collectors类创建和使用收集器将数据流归约为一个值汇总&#xff1a;归约的特殊情况数据分组和分区开发你的自定义收集器 对一个交易列表按货币分组&#xff0c;获得该货币的所有交易额总和&#xff08;返回一个Map<Currency, Integer>&#xff09;。 将交易列…

EAS web 界面加载后,隐藏按钮

效果&#xff1a;隐藏下列按钮&#xff1a; 实现方法&#xff1a; 1、创建数据装载事件&#xff1a; 2、隐藏按钮&#xff1a; afterOnloadHideEntryTBBBBBB:function(e){console.log("----------失败222&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&a…

群控代理IP搭建教程:打造一流的网络爬虫

目录 前言 一、什么是群控代理IP&#xff1f; 二、搭建群控代理IP的步骤 1. 获取代理IP资源 2. 配置代理IP池 3. 选择代理IP策略 4. 编写代理IP设置代码 5. 异常处理 三、总结 前言 群控代理IP是一种常用于网络爬虫的技术&#xff0c;通过使用多个代理IP实现并发请求…

园区停车管理系统的设计与实现

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一 、设计说明 1.1 选题…

【精华】AIGC启元2024

文章目录 AIGC 前沿(1) Gemini 1.5 Pro(2) Sora(3) EMO(4) Playground v2.5(5) Ideogram.ai(6) LTX studio AIGC 前沿 (1) Gemini 1.5 Pro 2024.02.16 谷歌新一代多模态大模型Gemini 1.5 Pro&#xff0c;在性能上超越OpenAI的GPT-4 Turbo&#xff0c;堪称业界最强大模型。 推…

mac-docker-php容器连接mac中的pgsql数据库失败以及出现table_msg存错误时的解决方法

以php中的thinkphp 5.1为例&#xff0c;php容器连接mac中的pgsql数据库失败时&#xff0c;出现如下错误 [7] PDOException in Connection.php line 528 SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost&…

c语言求奇数分之一序列前N项和

本题要求编写程序&#xff0c;计算序列 1 1/3 1/5 ... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum S”的格式输出部分和的值S&#xff0c;精确到小数点后6位。题目保证计算结果不超过双精度范围。 输入样例: 23输出样例: …

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建你的知识库

准备环境 bash /root/share/install_conda_env_internlm_base.sh InternLM升级PIP # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install a…

YOLOv5 项目:推理代码(detect)

1、前言 本章将介绍yolov5项目的推理函数&#xff0c;关于yolov5的下载和配置环境&#xff0c;参考上一篇文章&#xff1a; YOLOv5 项目&#xff1a;环境配置-CSDN博客 pycharm 中打开的推理模块如红框中所示 pycharm将conda新建的虚拟环境导入&#xff0c;参考 &#xff1a;…