- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章重点
14.1 用typedef说明一种新类型名
14.2 结构体类型
14.3 共用体
;14.1 用typedef说明一种新类型名
C语言允许用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。类型定义符typedef即可用来完成此功能,它可以C语言的基本数据类型取“别名”,也可以为用户自定义的结构类型取“别名”。例如,
typedef int INTEGER
这以后就可用INTEGER来代替int作整型变量的类型说明了。例如:
INTEGER a,b;
它等效于:
int a,b;; 用typedef定义数组类型、指针类型、结构类型将带来很大的方便,不仅使程序书写简洁,而且增强了可读性。例如:
typedef char NAME[20];
表示NAME是字符数组类型,数组长度为20。然后可用NAME 说明变量,如:
NAME a1,a2,s1,s2;
完全等效于:
char a1[20],a2[20],s1[20],s2[20];typedef struct stu
{ char name[20];
int age;
char sex;
} Student;
定义Student表示struct stu的结构类型,然后可用Student来说明结构变量:
Student body1,body2;; typedef定义的一般形式为:
typedef 原类型名 新类型名
有时也可用宏定义(#define)来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译时完成的,它并不只是作简单的字符替换。;14.2 结构体类型;14.2.1 结构体类型的说明
结构体类型说明的一般形式是:
struct 结构体标识名
{ 类型名1 结构成员名表1;
类型名2 结构成员名表2;
…
类型名n 结构成员名表n;
};; 其中struct是关键字,是结构体类型的标志。“结构体标识名”和“结构成员名”都是用户定义的标识符。其中“结构体标识名”是可选项,在说明中可以不出现。成员表列由若干个成员组成,由一对大括号括起来,每个成员都是该结构的一个组成部分。对每个成员也必须作类型声明,其形式如下:
类型说明符 成员名;
结构体成员名表中可以含有多个同类型的成员名,它们之间用逗号分隔。例如:
struct student { int math score, ;english score, sum;};
结构体中的成员名可以和程序中的其它变量同名;不同结构体中的成员也可以同名。 ; 在成员列表中,类型名1~类型名n不仅可以是简单数据类型,也可以是构造类型,所以也可以是某种结构体类型。这时称为结构体的嵌套。嵌套时允许内嵌结构体成员名与外层成员的名字相同。例如:
struct student
{ char name[10];
char sex;
struct date birthday;
float score[5];
};; 以上说明中,birthday成员的类型struct date是一个已经说明过的结构体类型。若事先没有说明这一类型,则以上结构体类型说明可改写成如下:
struct student
{ char name[10];
char sex;
struct
{ int year;
int month;
int day;
} birthday;
float score[5];
};;14.2.2 结构体类型的变量的定义
定义结构类型变量由以下四种方法:
1.先定义结构,再说明结构变量。例如:
struct student
{ int number; char name[31];
short age; char sex;
char grade; char address[101];
};
struct student boy1, boy2;;;3.直接说明结构变量。即在结构变量定义中省去了结构类型名,而直接给出结构变量。一般形式为:
struct
{成员表列
} 变量名表列;
例如以上结构中把student省略,
struct student
{
…
} boy1, boy2;;4.使用typedef说明一个结构体类型名,再用新类型名来定
您可能关注的文档
最近下载
- u市场管理规范.doc VIP
- 癫痫病人的围术期麻醉管理.pptx VIP
- 特殊教育概论第二版全套完整教学课件.pptx
- 《银屑病的治疗》课件.ppt VIP
- 2023年下第三套广播操舞动青春全套教案.doc VIP
- 新人教版八年级上册物理全册课件(2024年秋季新版教材).pptx
- 中建七局《准代建模式EPC项目策划总结交流材料》.pptx VIP
- 2025南京卫生高等职业技术学校工作人员招聘考试真题.docx VIP
- 运动控制系统安装与调试(第2版)课件全套 甄久军 项目1--5 典型运动控制系统的认知与装调 ---伺服电动机运动控制系统的调试.pptx
- 成都高新区街道面向社会公开招聘2025年第一批次编外聘用人员笔试备考试题及答案解析.docx VIP
文档评论(0)