C/C++复习之 字符数组

在C语言中没有设置专门的字符串数据类型,通常使用一维字符数组存放一个字符串,使用二维数组存放多条字符串。

字符串是由若干字符组成的,以字符‘\0’作为结束标识符的一个符号序列。

字符串“Hello”的实际长度为5,但是在计算机内存中占用6个存储单元,因为字符串“Hello”隐含有结束表示‘\0’

 

字符数组的赋值与使用:

1、指定长度的字符数组的赋值和使用

str[12] = {'h','e','l','l','o',' ','w','o','r','l','d','!'};
str[13] = {'h','e','l','l','o',' ','w','o','r','l','d','!'};

如果{ }中的字符数大于设定的数组大小,则会保存,如果{ }中的字符数小于设定的数组大小,那么数组中没有指定元素的位置将会被‘\0’填充,那么此时的字符数组相当于字符串,被当作字符串的字符数组就能使用以下C提供的关于字符串的操作。

2、未指定长度的字符数组的赋值和使用

str[  ] = {'h','e','l','l','o',' ','w','o','r','l','d','!'};
str[13] = {'h','e','l','l','o',' ','w','o','r','l','d','!','\0'};

上面的两个 表达式其实是等价的,字符数组都会被当作字符串,因为以‘\0’结尾。

作为字符串的字符数组能够一次性整体引用:

str[13] = {'h','e','l','l','o',' ','w','o','r','l','d','!'};
str[  ] = {'h','e','l','l','o',' ','w','o','r','l','d','!'};
str[13] = {'h','e','l','l','o',' ','w','o','r','l','d','!','\0'};

printf("%s",str);
puts(str);

上面三个字符数组其实是等价的,都被当做字符串。

字符串操作的一些函数:

strcat(字符串1,字符串2)  将字符串1的结束符'\0'删除,将字符串接到字符串1的尾部,返回改变后的字符串的首地址。如果字符串1是字符数组的话,数组的大小要足够容纳拼接后的字符串。

strcpy(字符串1,字符串2)  将字符串2中的字符逐个放到字符串1中的相对位置,如果字符串2的长度比字符串1大或者相等,字符串1会被完全覆盖,如果字符串2的长度比字符串1短,那么字符串1尾部的字符不会被替代。

strlen(字符串)  返回字符串的实际程度,即不包含'\0'结束符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值