- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章复合数据类型
第8章 复合数据类型;第8章 复合数据类型; 复合类型(构造类型);8.1结构类型(struct);例:
struct student
{ char name[20];
int age;
float score;
};;关于结构类型定义的几点说明:;2. 结构(变量)、结构数组、结构指针的定义;(2) 间接定义(常用) :
先定义结构类型,然后定义结构(变量);;(3) 一次性定义(不常用) :在定义结构类型的同时定义
结构,但结构类型无类型名。;3. 嵌套结构和递归结构 ;(2)递归结构一个结构的某些成员与该结构属于同一类型 ;4. 结构的存储分配;二. 结构成员的访问;例: struct xy
{ int x;
float y;
} a, b,*c=b, d;
a.x=7; a.y=3.6;
c-x =a.x ; (*c).y=a.y ;
d=b ;;例: struct date
{ int year ;
int month ;
int day;
};
struct employee
{ char name[20];
struct date birthday;
float salary;
};;例 : struct employee p;
strcpy(p.name, zhangsan);
p.salary = 850;
p.birthday.year = 1960;
p.birthday.month =12;
p.birthday.day = 25;;三. 结构成员的初始化; 使用说明:;例1. 下列程序的运行结果是 .; #include stdio.h
struct sample
{ int num;
char color[10]; };
main( )
{ struct sample car[5]={101,Green, 201,Yellow, 105,Red,
220,Blue, 309,White};
struct sample *p;
printf(--number----color--\n);
for (p=car;pcar+5;p++)
printf(%6d %10s\n, p-num , p-color);};四.结构在函数间的传递;#include string.h
struct sample
{ int a,b;char *ch; };
void f1(struct sample parm)
{ parm.a +=parm.b;
parm.ch[2] = x;
printf(“%d %s\n, parm.a,parm.ch);}
main()
{ struct sample arg;
arg.a=1000; arg.b=100; arg.ch =abcd;
f1(arg);
printf( %d %s\n, arg.a, arg.ch);};#include string.h
struct sample
{ int a,b;char *ch; };
void f1(struct sample *p)
{ p-a +=p-b;
p-ch[2] = x;
printf(“%d %s\n, p-a,p-ch);}
main()
{ struct sample arg;
arg.a=1000; arg.b=100; arg.ch =abcd;
f1(arg);
printf( %d %s\n, arg.a, arg.ch);};8.2 联合类型(union);例:
union data
{ int i;
char c;
float f;
} a, b; ;a.c;3. 联合与结构的比较 (P209); u
文档评论(0)