1、什么是字符数组?
字符数组,它是用于存放字符的数组,同时,它也可以用于存放(字符串),而在存储的过程中,
它会将(字符串)划分为一个一个字符地存储。
=======================================================================
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、字符数组存放(字符)与(字符串)的区别
(1)字符串的结尾处,系统会自动加上'\0'来说明字符串结束。
(2)字符的结尾处,系统不会自动加上'\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',所以,这里(1)--(3)数组定义的大小即[]之间的这个值,
就要标记为6或大于6的数值而不是5。
(4)系统也会向你报告有错误,原因就是字符串的长度大于数组定义的长度。
原因就是,系统会给字符串自动加上'\0',所以,这里d数组定义的大小即[]之间的这个值,
就要标记为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语言中的(数组),但是,如何去运行用它呢?
所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行
编程训练)
|