C 字符数组
字符数组———用于存放字符数据的数组称为字符数组。
1、接下来,我们首先看看"字符数组"的定义格式:
类型关键字 数组名[常量表达式];
例子:char a[3];
其实,字符数组的定义格式以及相应的使用,我们已经在学习数组这个知识点已经学习过并使用过了。现在,我们主要为大家介绍如何使用字符数组去存储“字符串”。
2、例子:
(1)char a[]={"eato2"};
(2)char b[]="eato2";
(3)char c[]={'e','a','t','o','2'};
例子分析:
1.通过上面的例子,我们可以看出,(1)和(2)两种赋值方式比较直观,就是把需要保存的"字符串"写上,区别在于(1)加上大括号,而(2)没有大括号。但结果是一样的。
2.而(3)这种方式,就是把字符串拆分开一个一个"字符"来存储。
3.在上面的例子中,数组在定义时"中括号"之间并没有说明数组大小的常量值。这个原因是,如果在数组定义时立即进行赋值,那么,系统就可以根据"赋值的数量"来确定数组的大小,所以,就可以在定义
时略省数组大小的设定。但是,如果你一定要加上也是可以的。
3、字符数组存放“字符”与“字符串”的区别
字符串的结尾处,系统会自动加上'\0'来说明字符串结束,而字符就没有。
例子:
(1)char a[]={"eato2"};
(2)char b[]="eato2";
(3)char c[]={'e','a','t','o','2'};
(4)char d[]="a";
(5)char ad[]='a';
例子分析:
(1)——(3)最后的存储结果都是eato2\0
(4)最后的存储结果是a\0
(5)最后的存储结果是a
从上面的例子分析中,我们可以知道,字符串在存储时的长度是字符串中字符的总数再加上1,因为系统会自动加上'\0',所以,例子中的(1)——(3)里面所定义的数组它们各自的总长度是6,而
(4)里面所定义的数组的总长度是2,而(5)所定义的数组长度为1因为它存放的是“字符”。
4 、
例子:
(1)char a[5]={"eato2"};
(2)char b[5]="eato2";
(3)char c[5]={'e','a','t','o','2'};
(4)char d[1]="a";
(5)char ad[1]='a';
例子分析:
(1)——(3)系统都会向你报告有错误,原因就是字符串的长度大于数组定义的长度。原因就是,系统会给字符串自动加上'\0',所以,数组定义的大小即[]之间的这个值,就要标记为6或大于6的数值而不是5。
(4)系统也会向你报告有错误,原因就是字符串的长度大于数组定义的长度。原因就是,系统会给字符串自动加上'\0',所以,这里的数组定义的大小即[]之间的这个值,就要标记为2或大于2的数值。而不是1。
(5)正确,因为字符只占用一个存储空间。
从上面的例子分析中,我们可以知道,字符串在存储时,如果[]之间的这个数组的大小要写上的话,那么,这个值就要在原来字符串的总个数的基础上再加上1,否则,就会出错。
5 、 字符串数组的调用方式
调用方式就是,直接调用数组的名字。
例子:
(1)char a[]={"eato2"};
a;
(2)char b[]="eato2";
b;
(3)char c[]={'e','a','t','o','2'};
c;
(4)char d[]="a";
d;
例子分析:
(1)——(3)调用数组名输出的结果都是eato2
(4)调用数组名输出的结果是a
从上面的例子分析中,我们可以知道,字符串在输出时,系统自动加上的'\0'是不会输出的。
非常好,现在,我们已经掌握了C中的“字符数组”,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“字符数组”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)