C语言 结构体数组初始化

  1、 结构体数组初始化

    结构体数组初始化,在初始化的过程中,需要对每个数组元素中的所有结构体成员进行赋初值的操作。

 

  2、例子1:

        struct ST

        {

         int a;

         float b;

         char c;

        }a[ 2 ]={ {1,2.5,‘t’} ,{3,1.5,'k'} };

 

     例子分析:

     通过上面的例子,我们可以看到定义了一个结构体数组a,然后,在数组的后面使用=以及一对大括号,

     而大括号中再使用一对大括号来说明要对哪个元素进行赋值,而初始值的类型与数量必须与成员一一对应。

 

     例子2:

        struct ST

        {

         int a;

         float b;

         char c;

        }a[ 2 ]={ 1,2.5,‘t’ ,3,1.5,'k' };

 

     例子分析:

     通过上面的例子,我们可以看到定义了一个结构体数组a,然后,在数组的后面使用=以及一对大括号,

     然后,就按照成员的顺序进行赋值即可,当已经对所有的成员赋值完毕以后,如果还有数组的元素没有初始化,

     就可以继续从第1个成员开始按顺序赋值,直到数组中所有的元素都初始化完成,

     而初始值的类型与数量必须与成员一一对应。

 

    例子3:

        struct ST

        {

         int a;

         float b;

         char c;

        }a[ 2 ][ 2 ] = { {1,2.5,‘t’,2,0.5,'x'} ,{3,1.5,'k',4,0.5,'y'} };

 

    例子分析:

    (1)通过上面的例子,我们可以看到定义了一个结构体2维数组a,然后,在数组的后面使用=以及一对大括号,

           而大括号中再使用一对大括号来说明要对第几行的元素进行赋值

    (2)然后,从第2个大括号开始,就是对第一行中,第1列的元素开始赋值,例子中的结构体有3个,

       所以,就分别赋值1,2.5,'t',这样,就对第1行,第1列的元素初始化完成。

    (3)然后,由于数组定义时有2列,所以,就继续对第1行,第2列的元素进行赋值,分别是2,0.5,'x',

       这样,就对第1行第2 列的元素都初始化完了,所以,加上“}”说明第一行初始化完成。

    (4)由于,数组定义时有两行,所以,接着对第二行的元素进行初始化,

           所以,在(“,”后面)再加上(一个“{”)说明对第2行的元素进行初始化

       然后,也是从第1列开始赋值,分别是3,1.5,'k',这样就对第1列中3个成员赋值完毕。

    (5)然后,由于数组定义时有2列,所以,就继续对第2行,第2列的元素进行赋值,分别是4,0.5,'y',

       这样,就对第2行第2列的元素都初始化完了,所以,加上“}”说明第2行初始化完成。

    (6)最后,由于数组只定义了2行,所以,初始化可以结束,这样,最后就加上“}”与“;”说明初始化完成。

 

=======================================================================

非常好,现在,我们已经掌握了C语言中的(结构体数组初始化)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

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