- 19
- 0
- 约1.52万字
- 约 83页
- 2017-04-21 发布于湖北
- 举报
结构体等构造数据类型
结构体等构造数据类型;9.1 结构体 ; 9.1.1 结构体的说明
为了描述起来简单,我们要先定义一
个结构体类型:time。time是时间,10点
30分50秒就是一个时间数据,当然我们可
以用三个整型变量来表示一个时间,
int hour;
int minute;
int second;
不能表示三个变量之间的逻辑关系。 ; 我们把时间说明为TIME ,而TIME
含有小时、分、秒三个成分,则TIME的结
构体说明是:
struct TIME
{
int hour;
int minute;
int second;
};; 其中struct 是关键字,TIME是结构体
的类型名,它实际上规定了一种新的复杂数
据类型。
于是在随后的程序中就可以使用TIME
定义结构体变量了。
struct TIME audit_begin;
;结构体的说明方式:
struct 结构体名
{ 成员表;
};
其中成员表可以由一个或几个成员组
成,要说明每个成员的类型和名称,注意
最后用分号结束。;结构???变量的定义方式:
struct 结构体名 结构体变量表;
结构体说明要注意下面几点:
(1)结构体说明并不引起存储分配,结构体
变量的定义才引起存储分配。存储分配时,
通常按照各成员在结构体说明中出现的先
后顺序依次排列。结构体成员的数据类型
可以是C语言的基本数据类型,也可以
是数组和指针类型。;(2) 结构体成员还可以是另一个结构体类型,结构体说明可以嵌套。
struct OBJECT
{ struct TASK
{ long plan;
long start;
long finish;
} ti,tj;
int count;
} ;
OBJECT中嵌套定义了另外一个结构体
TASK。;(3) 结构体说明不允许递归,也就是不允
许在一个结构体说明中嵌套对自己的定义。
struct WRONG
{ struct WRONG a; /*错误 */
int count;
} ;
;9.1.2 结构体变量的定义
结构体变量定义有三种方法。
第一种方法就是上面用过的:先说明结构体,再定义结构体变量。
第二种方法是在说明结构体类型的同时定
义结构体变量。
例如:
struct TIME
{ int hour;
int minute;
int second;
} audit_begin,audit_end;; 这种方法的语法格式是:
struct 结构体名
{ 成员表;
} 结构体变量表;; 第三种方法是在说明结构体时直接定义
结构体变量,并且不用指定结构体名。
struct
{ int hour;
int minute;
int second;
} audit_begin,audit_end;
这种形式的语法为:
struct
{ 成员表;
} 结构体变量表;; 不能混淆结构体名和结构体变量这两
个概念。结构体名实际上标识了程序员定
义的一种新的数据类型,编译系统不可能
为结构体名分配内存空间。只有当变量被
说明为这种由程序员自己定义的数据类型
的结构体时,编译系统才会为结构体变量
分配存储空间。在不引起混淆的情况下,
结构体变量可以简称为结构体。;9.1.3 结构体成员的引用
C语言中对结构体变量的使用是通过
对其成员的引用来实现的。一般不能对
结构体变量进行整体的引用。
引用的方法:
结构体变量名.成员名
符号“.”是依据结构体变量名存取结构体成员的运算符。;例9.1 用符号“.”引用结构体变量的成员。
#include stdio.h
void main()
{ struct TIME
{ int hour;
int minute;
int second;
};
struct TIME audit_begin;
; audit_begin.hour=8;
/*为audit_begin的每个成员赋值 */
audit_begin.minute=30;
audit_begin.second=00;
printf(\n audition ti
您可能关注的文档
最近下载
- 2025-2026学年小学劳动人美版2024五年级下册-人美版(2024)教学设计合集.docx
- 2025年青岛酒店管理职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 海藻学-3.pdf VIP
- 东风天龙电气系统维修.ppt VIP
- 2026人教版小学语文四年级上册期末考试精选3套试卷(含答案解析).pdf
- 《出纳实务》高职财经专业全套教学课件.pptx
- 毕业论文的答辩与评价.ppt VIP
- 药品质量研究的内容与药典概况详解.ppt VIP
- 西门子通风控制器acx36介绍.pdf
- 2024年青岛酒店管理职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析.docx VIP
原创力文档

文档评论(0)