一.结构体的声明
1.1 概述
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
复杂对象
人:名字+电话+性别+身高
书:书名+作者+定价+书号
复杂对象的描述会用到结构体。
1.2 声明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| struct Peo { char name[20]; char tele[12]; char sex[5]; int high; };
int main() { struct Peo p1={0}; reyutn 0; }
|
1 2 3 4 5 6 7 8
| struct Peo { char name[20]; char tele[12]; char sex[5]; int high; }p1,p2;
|
struct Peo为结构体类型,p1为结构体变量。
1.3 结构体成员的类型
结构体的成员可以是标量,数组,指针,甚至是其他结构体。
1.4 结构体的初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| struct Peo { char name[20]; char tele[12]; char sex[5]; int high; };
int main() { struct Peo p1={"张三","19721365940","男",181}; return 0; }
|
结构体包含结构体的初始化:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| struct Peo { char name[20]; char tele[12]; char sex[5]; int high; };
struct BT { struct Peo p; int num; float f; };
int main() { struct Peo p1={"张三","19721365940","男",181}; struct BT s = {{"李四","15826805684","女",164},100,3.14f}; printf("%s %s %s %d\n",p1.name,p1.tele,p1.sex,p1.high); printf("%s %s %s %d %d %f\n",s.p.name,s.p.tele,s.p.sex,s.p.high,s.num,s.f); return 0; }
|
二.结构体成员的访问