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语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行
编程训练)
|