- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.1 概述 11.2 定义结构体类型变量的方法 11.3 结构体变量的引用 11.4 结构体变量的初始化 11.5 结构体数组 11.6 指向结构体类型数据的指针 11.7 用指针处理链表 11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型 结构体:是一种数据结构,构造类型,由若干个类型不同的数据项组成,表示一个对象,相当于其他高级语言中的“记录”。 声明一个结构体类型的一般形式: struct 结构体名 { 成员表列 }; 成员的声明形式: 类型名 成员名; “结构体名”用作结构体类型的标志。 struct 结构体类型名 { 类型标识符 成员名1; 类型标识符 成员名2; …… 类型标识符 成员名n; }; 其中: struct是关键字,是结构体类型的标志。结构体类型名是由用户定义的标识符,它规定了所定义的结构体类型的名称。结构体类型的组成成分称为成员,成员名的命名规则与变量名相同。 struct student { int num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //地址 }; 表示定义了一个结构体类型---struct student,它由num,name,sex age,score,addr六个成员组成。 三种方法: 1.先声明结构体类型再定义变量名 struct 结构体名 结构体变量名表; struct student student1,student2; 类型 变量 不分配内存 分配内存 2.在声明类型的同时定义变量 struct student {char name[20]; char sex; int age; float score; }student1,student2; 3.用匿名形式直接定义结构体类型变量 (不出现结构体名) ① 类型与变量不同 ② 结构体中的成员可以单独使用 ③ 成员也可以是一个结构体变量 ④ 成员名可以与程序中的变量名相同,二者不代表同一对象 结构体变量所占内存长度为各成员所占长度的总和。 不能整体引用。只能对结构体变量中的成员分别引用。 引用方法:结构体变量名.成员名 “.”是成员(分量)运算符,优先级最高。 例: struct student stu1; stu1.age=20; 成员本身是结构体类型,则要一级一级引用,直到最低的一级成员。 stu1.birthday.day=23; 只能对最低一级的成员进行运算 对结构体变量的成员可以像普通变量一样进行各种运算。 student1.age=20; student1.age++; 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。但不能整体读入结构体变量。 scanf(“%d”,stu1.num); printff(“%o”,stu1); struct student { int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }student1,student2; student1.num; student2.birthday.day; 例: main() { struct student { long num; char name[20]; char sex; char addr[30]; }a={89031,”Li Lin”,”M”,”123 Beijing”}; printf(“%ld\n%s\n%c\n%s\n”,a.num, , a.sex,a.addr); } 只需将定义结构体变量的说明改为对数组的说明即可。 struct student {......}; struct student stu[3]; struct student { int num;char name[20]; char sex; float score; }stu[3]={{10101,
文档评论(0)