结构体与共用体

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一页 下一页 返回
10.1 结构体类型和结构体变量
如:
struct date
/*声明一个结构体类型*/
{ int month;
int day;
int year;
};
struct student
{int num;
char name[20];
char sex;
int age;
struct date birthday;/*birthday是struct date类 型*/
10.1.1 结构体型的定义
如前所述,结构体是由不同数据类型的数据组成的。组成结 构体的每一个数据称为该结构体的成员。在程序中使用结构 体时,首先要对结构体的组成进行描述,这称为结构体型的 定义,结构体型的定义是确定该结构体型由哪几个成员项组 成,以及每个成员项具有什么数据类型。
下一页 返回
10.1 结构体类型和结构体变量
10.1 结构体类型和结构体变量
注意不要忽略最后的分号。struct student向编译系统声 明这是一个“结构体类型”,它包括num、name、sex、 age、score和addr等不同类型的数据项。应当说明 struct student是一个类型名,它和系统提供的标准类型 (如int、char、float和double等)一样具有同样的地位 和作用,都可以用来定义变量的类型,只不过结构体类型需 要由用户自己指定而已。
上一页 下一页 返回
10.1 结构体类型和结构体变量
例10-1 定义如下结构体型。 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
上一页 下一页 返回
3.直接定义结构类型变量 直接定义结构类型变量,其中不出现结构体名。其一般形式
为: struct { 成员表列 }变量名表列;
上一页 下一页 返回
10.1 结构体类型和结构体变量
关于结构体类型,有几点要说明: ①类型与变量是不同的概念,不要混同。只能对变量赋值、
存取或运算,而不能对一个类型赋值、存取或运算。在编译 时,对类型是不分配空间的,只对变量分配空间。 ②对结构体中的成员(即“域”),可以单独使用,它的作 用与地位相当于普通变量。 ③成员也可以是一个结构体变量。
变量,即它们具有struct student类型的结构。在定义了 结构体变量后,系统会为它们分配内存单元。
上一页 下一页 返回
10.1 结构体类型和结构体变量
应当注意的是,将一个变量定义为标准类型与定义为结构体 类型,它们不同之处在于后者不仅要求指定变量为结构体类 型,而且要求指定为某一特定的结构体类型。如struct student。
第10章 结构体与共用体
10.1 结构体类型和结构体变量 10.2 结构体数组 10.3 结构体指针和结构体嵌套 10.4 共用体 10.5 枚举类型 10.6 用户自定义类型
10.1 结构体类型和结构体变量
结构体类型属于构造类型,是用户在程序中根据实际需要自 己定义的一种复杂的数据类型。这种类型必须先定义,然后 才能用它来定义这种类型的变量、数组、指针和函数等。结 构体类型又称结构体型,简称结构体。
2.在声明类型的同时定义变量 结构体型定义了结构体变量的定义也可以同时进行。这时,
被定义的结构体变量直接在结构体型定义的大括号{ }后给 出,例如:
上一页 下一页 返回
10.1 结构体类型和结构体变量
struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2;
在程序中,结构体型的定义可在函数内部,也可在函数外部。 在函数内部定义的结构体型,其可见性仅限于该函数内部, 而在函数外部定义的结构体型,在其后的所有函数中都是可 见的。
上一页 下一页 返回
10.1 结构体类型和结构体变量
10.1.2 结构体变量的定义
一个结构体型一经定义,就可说明该结构体型变量。因此, 结构体变量定义的一般形式为:
上一页 下一页 返回
10.1 结构体类型和结构体变量
它的作用与第1种方法相同,即定义了两个struct student类型的变量student1、student2。这种形式的 定义的一般形式为:
struct结构体名 { 成员表列 }变量名表列;
上一页 下一页 返回
10.1 结构体类型和结构体变量
struct 结构体名 结构变量名; 定义结构体型变量有3种方法: 1.先声明结构体类型再定义变量名 如上面已定义了一个结构体类型struct student,可以用
它来定义变量。如: struct student(结构体类型名) student1,
student2(结构体变量名); 定义了student1和student2为struct student类型的
char addr[30];
}student1,student2;
上一页 பைடு நூலகம்一页 返回
10.1 结构体类型和结构体变量
先声明一个struct date类型,它代表“日期”,包括3个 成员:month(月)、day(日)和year(年)。然后在声 明struct student类型时,将成员birthday指定为 struct date类型。已声明的类型struct date与其他类型 (如int,char)一样可以用来定义成员的类型。
结构体型定义的一般形式为: struct 结构体型名 { 数据类型 成员名1;
数据类型 成员名2; …… 数据类型 成员名n; }; 其中struct为关键字,作为结构体型定义的标识符,其后是 定义结构体型名,二者形成结构体类型标识符。结构体型名 由用户命名,符合标识符的命名规定。大括号中的每个成员 由其数据类型和成员名组成。每个成员项后以分号结束。整 个结构体型的定义也以分号作结束符。
相关文档
最新文档