首页 > IT职业 > IT职场 > 物联网学习教程—定义结构体类型变量的方法
问题定义:
有时需要将不同类型的数据组合成一个有机
的整体,以便于引用。如:
一个学生有学号/ 姓名/ 性别/ 年龄/ 地址等属性 int num; char name[20]; char sex;

声明一个结构体类型的一般形式为:
struct 结构体名
{成员表列};
如:struct student
{
int num;char name[20];char sex;
int age;float score;char addr[30];
可以采取以下3 种方法定义结构体类型变量:
(1) 先声明结构体类型再定义变量名
例如:struct student student1, student2;

在定义了结构体变量后,系统会为之分配内存单元。
例如:student1 和student2 在内存中各占59 个字节(2+20+1+2+4+30=59 )。
注意:
将一个变量定义为标准类型(基本数据类型)与定义为结构体类型不同之处在于后者不仅要求指定变量为结构体类型,而且要求指定为某一特定的结构体类型,因为可以定义出许许多多种具体的结构体类型。
(2) 在声明类型的同时定义变量
这种形式的定义的一般形式为:
struct 结构体名
{
成员表列
}变量名表列;
例如:
struct student
{ int num ;
char name[20] ;
char sex ;
int age ;
float score ;
char addr[30] ;
}student1,student2;
注意:(它的作用与第一种方法相同,即定义了两个struct student 类型的变量student1,
student2 )
(3) 直接定义结构体类型变量
其一般形式为:
struct
{
成员表列
}变量名表列;
即不出现结构体名。
注意:
(2) 对结构体中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量。
(3) 成员也可以是一个结构体变量。
(4) 成员名可以与程序中的变量名相同, 二者不代表同一对象。
例如:struct date /* 声明一个结构体类型*/
int num ;
char name[20] ;
char sex ;
int age ;

注意:先声明一个struct date 类型,它代表“日期”,包括3 个成员:month (月)、day (日)、year (年)。然后在声明struct student 类型时,将成员birthday 指定为struct date 类型。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2655731/ ,如需转载,请注明出处,否则将追究法律责任。