匿名用户
1级
-12-29 回答
结构的定义
用户定义自己所需要的结构型,可以采用下列定义语句:
1
2
3
4
5
6
7
struct结构型名
{数据类型符1成员名1;
数据类型符2成员名2;
数据类型符3成员名3;
...
数据类型符n成员名n;
};
定义结构型变量的方法有三种,在定义的同时,可以给变量的每个成员赋初值。
1. 先定义结构型,后定义变量
例如:
1
2
3
4
5
6
7
8
structstudent
{longnumber;
charname[10];
charsex;
floatscore[3];
};
...
structstudentx,y;/*定义student结构型的变量x和y*/
在定义结构型变量的同时,可以对结构型变量的所有成员赋初值。
例如:
1
2
structstudentx={100001L,"zhao1",'f',{89,94,86}},
y={100002L,"zhao2",'m',{78,86,92}};
2.定义结构型的同时定义变量
这种方法是将结构型的定义和变量定义同时进行。然后仍然可以使用这种结构型来定义其他的变量。
例如:
1
2
3
4
5
6
7
8
9
structstudent
{longnumber;
charname[10];
charsex;
floatscore[3];
}x={1000001L,"zhao1",'f',{89,94,86}};/*定义结构型同时定义变量并赋值*/
...
structstudenty={100002L,"zhao2",'m',{78,86,92}}
/*这个语句是正确的是因为前面定义了数据类型符structstudent*/
3.定义无名称的结构型的同时定义变量
这种方法是将结构型定义和变量的定义同时进行,但省略了结构型的名称,以后将无法使用这种结构型来定义其他变量。例子与2的例子差不多,只是因为没有定义结构型的名称,所以后面对y的赋值就不可用。
从变量的生存期来分,我们把生存期覆盖了定义点到整个程序结束的变量成为具有全局寿命的变量,简称“全局变量”。
习惯上结构定义都是在main函数之前的,从这一点上看,结构都是全局变量,不知道这样回答是不是让你满意。