清华大学出版社 TSINGHUA UNIVERSITY PRESS §9.1结构体类型和结构体变量 9.1.1结构体类型 说明: (1)结构体类型并不是只有一种,而是可以设计出许 多种结构体类型 (2)成员也可以是一个结构体变量 (3)“结构体”这个词是根据英文单词 s t r t ure译出的
说明: (1)结构体类型并不是只有一种,而是可以设计出许 多种结构体类型. (2) 成员也可以是一个结构体变量。 (3)“结构体”这个词是根据英文单词struct ure译出的。 §9.1 结构体类型和结构体变量 9.1.1 结构体类型
清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 ■可以采取以下3种方法定义结构体类型变 (1)先声明结构体类型再定义变量名 例如: struct student student 1, student2; student1 100102 WangLi F 2098 Beijing student2 100101 Zhang XiT M 19 90.5 Shanghai 图9-3
9.1.2 定义结构体类型变量 ◼ 可以采取以下3种方法定义结构体类型变 量: (1)先声明结构体类型再定义变量名 例如:struct student student1, student2; | | | 结构体类型名 结构体变量名 定义了student1和student2为struct student 类型的变量,即它们具有struct student 类型的结构. 图9-3 student1 100101 ZhangXin M 19 90.5 Shanghai 100102 WangLi F 20 98 Beijing student2
清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 在定义了结构体变量后,系统会为之分配内 存单元。 例如: student1和 Student2在 Turbo c的内存 中各占59个字节( 2+20+1+2+4+30=59)。 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为 struct结构体名 成员表列 }变量名表列;
在定义了结构体变量后,系统会为之分配内 存单元。 例如:student1和student2在Turbo C的内存 中各占59个字节( 2+20+1+2+4+30=59)。 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为: struct 结构体名 { 成员表列 }变量名表列; 9.1.2 定义结构体类型变量
清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 例如: 它的作用与第 struct student 种方法相同,即 int num 定义了两个 struct student类型的变 char name [201 量 student1 char sex student2 Int age float score char addr[301 student1, student2
例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 它的作用与第一 种方法相同,即 定义了两个struct student 类型的变 量student1, student2 9.1.2 定义结构体类型变量
清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 (3)不指定类型名而直接定义结构体类型变量 其一般形式为 注意 struct (1)结构体类型与结构体变量 是不同的概念,不能混同。 成员表列(2)结构体类型中的成员名可 }变量名表列以与程序中的变量名相同,但二 即不出现结构体名 者不代表同一对象。 (3)对结构体变量中的成员( 即“域”),可以单独使用, 它的作用与地位相当于普通变 量
(3) 不指定类型名而直接定义结构体类型变量 其一般形式为: struct { 成员表列 }变量名表列; 即不出现结构体名。 注意: (1) 结构体类型与结构体变量 (2) 结构体类型中的成员名可 以与程序中的变量名相同,但二 (3) 对结构体变量中的成员( 即“域”),可以单独使用, 它的作用与地位相当于普通变 量。 9.1.2 定义结构体类型变量