{C++利用数组处理批量数据(4)}菜大学生C++笔记17

第5章 利用数组处理批量数据


数值类型的数组如果要访问每个元素,需要使用循环。
对于字符数组整体访问有特殊的方法。
5.5 字符数组
1 如何定义字符数组
在这里插入图片描述
2 如何初始化一个字符数组(1用单个字符逐个赋值,2用字符串),输出字符数组的特殊方法cout<<字符数组名
char c[10]={‘I’,’ ‘,‘a’,‘m’,’ ‘,‘h’,‘a’,‘p’,‘p’,‘y’};//有点危险!!
char c[]={‘I’,’ ‘,‘a’,‘m’,’ ',‘h’,‘a’,‘p’,‘p’,‘y’};//有点危险!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果给的字符数小于数组长度会如何?(想想数值类型的数组)
对于数值型数组,初始化时,如果初始化元素的个数小于数组长度,未给出初始化值的部分。得到 值 为0
对于字符型数组,初始化时,如果初始化元素的个数小于数组长度,未给出初始化值的部分。得到 值 为0 (特殊标志,结束标志,’\0’ 与0 等价的。注意不是‘0’)

3 用字符串给字符数组赋初值时,如果不指定数组大小。数组大小是多少??双引号中有秘密!!!
在这里插入图片描述

在使用“”时,一定要注意,只要见到“”,系统会自动添加一个结束标志。因此,“abc”,占用4个字节
”“表示的内容,隐藏着一个结束标志。

可以在定义字符数组后,用字符串给这个字符数组赋值吗?
在这里插入图片描述

在定义一个字符数组之后,不允许对数组这样赋值。数组名不是变量,而是一个常量 。地址常量。数组在内存中的首地址。
4 定义两个字符数组,可以用一个给另一个赋值吗?
在这里插入图片描述

不允许使用一个数组名,为另一个数组赋值。

5 字符串长度如何算? 与数组长度相同吗?
在这里插入图片描述

数组的长度,是在定义数组时就确定 。数组中的内容可变,但是长度不会变。
而字符串的长度,是结束标志之前的字符数。
因此对于数组长度为n,内部存储的字符串的长度最长为n-1
字符串中可以有多个结束标志。长度是指第1个结束标志之前的字符数
“abc” 字符串长度为3 用它为数组初始化时,如果不指定数组大小,数组大小 是4
”a\0bc” 字符串长度为1 用它为数组初始化时,如果不指定数组大小,数组大小 是5
“\0abc” 字符串长度为0 用它为数组初始化时,如果不指定数组大小,数组大小 是5

6 下面几种初始化效果相同吗?
char s1[]={‘a’,’b’,’c’}; //数组长度为 3,3个字符 有危险
char s2[]=”abc”; //以下两种方式 初始化效果相同,数组长度为4,字符串长度为3
char s3[]={“abc”};

7 字符数组的输入与输出(逐个输入输出使用循环来完成,整体输入输出)
整体输出字符数组时:
使用cout输出时不包含结束符’\0’
输出时使用数组名
遇到结束标志就停止
如果有多个结束标志遇到第1个就停止
在这里插入图片描述
在这里插入图片描述

使用cin输入的问题是什么?cin>>数组名
在这里插入图片描述

使用Cin时,空格表示多个输入项之间的分隔。因此在输入字符串时,不能加空格。

如何解决??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C0ntr01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值