C语言的字符数组

  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语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行 编程训练)