第八章 结构体与共用体-1(结构体变量、结构体数组及数组做函数参数)

合集下载

第8章 结构体和共用体

第8章  结构体和共用体

}
注意: (1) 不能将一个结构体变量作为一个整体进行输入和输出。 例: scanf("%ld%s%c%s",&stu1); printf("NO.:%ld\nname:%s\nsex:%c\naddress:%s\n",stu 2); 只能对结构体变量中的各个成员分别进行输入和输出,如: stu1.num=89031; strcpy(,"Liling"); scanf("%c%s",&stu1.sex,stu1.addr); (2) 对结构体中的成员,可以单独使用,它的作用与地位相 当于普通变量。 stu1.num =stu2.num;
(3) 结构体变量可以进行整体赋值,但不能整体进行比较。
下列语句是错误的: if(stu1>stu2) printf("name:%s\n",); (4) 如果成员本身又属一个结构体类型,则要逐级地找到最 低的一级成员。只能对最低级的成员进行存取。
例如定义了结构体变量 struct student zhang, wang; 要访问结构体变量zhang的出生年份,应当用表达 式 zhang.birthday.year
(1) 结构体类型声明描述了结构体类型的组织形式,但在编译时 并不为它分配存储空间。 struct stu作为用户自定义的结构 体类型,和系统提供的标准数据类型有一样的地位,可以用 来定义结构体变量,只是结构体类型需要自己定义。
(2) 结构体类型的成员可以是简单类型、也可以是复杂构造类型 如数组、指针、结构体或共用体等。 (3) 结构体不可嵌套定义,但可以嵌套使用,例如:
三、结构体变量的引用
结构体变量的每个成员都属于某种具体的数据类 (原子类型或构造类型)。

C语言结构体与共用体

C语言结构体与共用体

第8章结构体与共用体本节课主要内容结构体(结构structure)类型的定义结构体变量的引用和初始化结构体数组链表的概念及单链表的插入删除 8.1问题引入:思考一个问题在程序里表示<a name=baidusnap0></a>一个人</B>(姓名、年龄、性别、……),怎么表示?想表示多个人呢?如何用计算机程序实现下述表格的管理?数组的解决方法 int studentId[[]30];/* 最多可以管理30个学生, 每个学生的学号用数组的下标表示*/ char studentName[[]30][[]10]; char studentSex[[]30][[]2]; inttimeOfEnter[[]30]; /*入学时间用int表示*/ intscoreComputer[[]30];/*计算机原理课的成绩*/ intscoreEnglish[[]30]; /*英语课的成绩*/ int scoreMath[[]30];/*数学课的成绩*/ int scoreMusic[[]30]; /*音乐课的成绩*/ 数组的解决方法int studentId[[]30] = {1,2,3,4}; char studentName[[]30][[]10]={{"令狐冲"},{"林平之"}, {"岳灵珊"},{"任莹莹"}}; char studentSex[[]30][[]2]={{"男"},{"男"},{"女"},{"女"}}; int timeOfEnter[[]30] = {1999,1999,1999,1999}; int scoreComputer[[]30] = {90,78,89,78}; int scoreEnglish[[]30] ={83,92,72,95}; int scoreMath[[]30] = {72,88,98,87}; int scoreMusic[[]30] = {82,78,66,90}; 数组的解决方法数据的内存管理方式希望的内存分配图结构体的解决方法 struct STUDENT{int studentID; /*每个学生的序号*/ charstudentName[[]10];/*每个学生的姓名*/ char studentSex[[]4]; /*每个学生的性别*/ int timeOfEnter; /*每个学生的入学时间*/ int scoreComputer; /*每个学生的计算机原理成绩*/ intscoreEnglish; /*每个学生的英语成绩*/ int scoreMath; /*每个学生的数学成绩*/ int scoreMusic; /*每个学生的音乐成绩*/}; C语言提供了一种数据结构,可以把这些不同类型的数据组成一个整体,这就是结构体类型。

C语言学习入门笔记之结构体与共用体

C语言学习入门笔记之结构体与共用体

结构体与共用体笔记定义结构体C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structre)。

在其他一些高级语言中称为“记录”.定义后的结构体类型和系统提供的标准类型(如int, char, float, double 等)具有相似的作用,都可以用来定义变量,只不过int等类型是系统已声明的,而结构体类型是由用户根据需要在程序中指定的。

定义一个结构体类型的一般形式为:struct 结构体名{ 成员表列};注意:1.结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student) ,结构体名是由用户指定的,又称“结构体标记”,以区别于其他结构体类型。

上面的结构体声明中Student就是结构体名(结构体标记)。

2.花括号内是该结构体所包括的子项,称为结构体的成员。

“成员表列"(member list)也称为“域表”(field list),成员表列由若干个成员组成,每一个成员是结构体中的一个域。

对每个成员也必须作类型说明,其形式为:类型说明符成员名;成员名的命名应符合标识符的书写规定。

例如:struct stu{int num;char name[20];char sex;float score;};3.一个结构体的成员可以属于另一个结构体类型(嵌套)。

例如:struct Date //声明一个结构体类型struct Date{ int month;//月int day;//日int year;//年}struct Student//声明一个结构体类型struct Student{ int num;char name[20];char sex;int age;struct Date birthday;//成员birthday属于struct Date 类型char addr[30];};结构体类型变量1.定义结构体类型变量说明结构变量有以下三种方法。

C语言程序设计——结构体和共用体(完整版)

C语言程序设计——结构体和共用体(完整版)

printf(“name\tage\tjob\tclass/office\n”); for(i=0;i<PN;i++) {if(body[i].job==„s‟) printf(“%s\t%d\t%3c\t%d\n”,body[i].name, body[i].age,body[i].job,body[i].units.class); else printf(“%s\t%d\t%3c\t%s\n”,body[i].name, body[i].age,body[i].job,body[i].units.office); } }
birthday num name sex age month day year addr
§12.3结构体数组
结构体数组的每一个元素都是具有相同结构类型 的结构体变量。 例:struct student {int num; char name[20]; float score; }stu[3]; 其中,定义了一个结构体数组stu,共有3个元素, 每个元素都具有struct student的结构形式。
§12.6共用体
共用体(也称为联合)也是一种构造的数据类型。 共用体是将不同类型的数据组织在一起共同占用 同一段内存的一种构造数据类型。 例如,在校学生和教师都填写以下表格: 姓名 年龄 职业 单位 其中,职业分两类:教师和学生; 而单位一栏里,学生填写班级编号(整型类型), 教师填写某系某教研室(整型类型) 。
§12.7枚举数据类型
当某些变量仅由有限个数据值组成时,通常用枚 举类型来表示。 所谓枚举是指将变量的值一一列举出来,变量的 值只限于列举出来的值的范围内。如一周只有7天, 一年只有12个月等等。
注意:枚举类型是一种基本数据类型,而不是一 种构造类型。关键字为enum。

第八章结构体与共用体-PPT精选.ppt

第八章结构体与共用体-PPT精选.ppt

☻方式1和2可以在多处定义相同结构体类型的变量 而方式3不行
☻结构体类型可以嵌套定义
struct date {int month; int day; int year;}; struct student {int num; char name[20]; char sex; struct date birthday; };
4.结构体类型变量的比较
不能直接比较
if(stu1==stu2)
............error
只能进行
if(stu1.num==stu2.num&&
!strcmp(,))
......
5. sizeof(struct student) struct student{int num; char name[10];}stu1,stu2;
这些数据 之间没有 任何关联
学号 105 108 101 103
姓名 张三 李力 魏红 王一
年龄 18 19 18 20
成绩 89 95 90 76
住址 北京 南京 上海 贵州
如何存放这 些数据?
105 张三
18
89
北京
108 李力
19
95
南京
101 魏红
18
90
上海
103 王一
20
76
贵州
105 张三 18 89 北京 108 李力 19 95 南京 101 魏红 18 90 上海 103 王一 20 76 贵州
第八章 结构体与共用体
8.1 结构体 8.2 结构体数组 8.3 指向结构体类型数据的指针 8.4 链表 8.5 共用体 8.6 枚举类型
8.1 结构体
表示一个同学的数据: 学号 int num; 姓名 char name[20]; 年龄 int age; 成绩 float score; 家庭住址 char addr[30];

C语言程序设计实验结构体与共用体

C语言程序设计实验结构体与共用体

实验8:结构体与共用体一、实验目的1.掌握结构体类型变量的定义和使用;2.掌握共用体的概念与使用。

二、实验内容编写程序,实现如下功能:1.定义结构体变量,用它表示考生的学号、姓名(用英文表示)以及语文、数学、外语成绩。

输入两个考生的信息和各门课成绩并比较(按总分进行高低排序;当总分相同时,依次按语、数、外的顺序排序)。

2.设有一个教师与学生通用的表格,数据项包括:姓名、年龄、职业和单位,其中“职业”一项可分为“教师”和“学生”两类;对“单位”一项,教师填入“系部名称”(用字符类型表示),学生填入“班级编号”(用整型量表示)。

编程输入人员数据,再以表格输出。

三、实验结果记录第1题上机调试后的最终代码及上机调试结果(截图):程序代码运行结果1.总分不同2.总分相同的情况2.1总分完全相同2.2总分相同但语文成绩不同2.3总分相同、语文成绩相同但数学成绩不同第2题上机调试后的最终代码及上机调试结果(截图):程序代码运行结果1.正确输入2.错误输入四、实验小结:经过此次实验,我熟悉掌握了结构体的定义和使用,同时也掌握了共用体的使用。

对于程序1,基本思路是通过结构体定义变量,采用if-else语句嵌套,当总分相同且语文数学成绩均相同时就不必再进行一轮的if语句判断,因为此时两考生的英语成绩一定相同。

对于程序2,在结构体中定义了共用体,可对不同职业进行不同单位的划分。

基本思路是用malloc函数进行动态内存分配,确定要输入的样本数量,再进行数据的输入,在单位数据的输入时需要判断输入对象是学生还是老师,此时要用strcmp函数进行比较判断,输入结束后打印表格,用转义字符\t让表格更加美观,最后通过free进行内存释放。

四川大学《c语言程序设计》课件-第8章 结构体与共用体

四川大学《c语言程序设计》课件-第8章 结构体与共用体
男 1999
90 83 72 82
2 林平之
男 1999
78 92 88 78
3 岳灵珊
女 1999
89 72 98 66
4 任盈盈
女 1999
78 95 87 90
结构体的解决方法
struct STUDENT
{ int studentID;
/*每个学生的序号*/
char studentName[10];/*每个学生的姓名*/
};
结构体变量的指针
struct STUDENT
{
int
studentID;
char
studentName[10];
char
studentSex[4];
struct date timeOfEnter;
int
scoreComputer;
int
scoreEnglish;
int
scoreMath;
int
结构体的内存占用
double 占用内存字节数 = 8 struct 类型用内存字节数 = ? 是所有成员变量的内存总和吗?
用运算符sizeof获得结构体大小 sizeof(变量或表达式) sizeof(类型)
struct number
{ short i; char ch;
float f;
};
printf("%d\n", sizeof(struct number));
struct STUDENT *pStu; /*定义结构体指针*/
pStu = &stu;
通过stu和成员运算符访问结构体成员
– stu. studentID = 1;
通过pStu和指向运算符访问结构体成员

结构体与共用体

结构体与共用体

2020/12/16
15
8.1 结构体
8.1.2 结构体数组
定义结构体数组的方法和结构体变量相似:
(1) struct 结构体名 {成员表列} 数组名[数组长度];
(2) 先声明一个结构体类型,然后再用此类型定义结构体数组: 结构体类型 数组名[数组长度];
例8.3 编写程序,利用结构体数组存储和显示三个学生的信息。 算法描述:首先定义并初始化一个结构体数组,然后通过printf 函数输出到屏幕上即可。
return 0;
}
2020/12/16
17
8.1 结构体
程序分析: 程序中定义了一个外部结构体数组stu,共3个元 素,并作了初始化赋值。在main函数中用for语句 逐个输出各元素的各个成员值。
2020/12/16
18
8.1 结构体
8.1.3 结构体指针
指向结构体变量的指针
例8.4 使用指向结构体变量的指针来访问结构体变量的 各个成员。
struct student
{ int num;
char name[10];
float score; };
int main ()
{struct student stu[3]={{1, "Wang", 90.0}, {2, "Qian", 89.5}, {3, "Sun", 85.0}};
struct student *p; int i;
注意 : (1)在定义结构体变量时可以对它的成员初始化。初始化列表是用花括号 括起来的一些常量。如:
struct Student a={10001,"Li Ming",'M',"Bei Jing"};

C语言程序设计 Chapter8 结构体与共用体

C语言程序设计 Chapter8 结构体与共用体

struct date_type { int year; 结构体数组 int month; int day; 结构体数组的定义 }; ; struct stud_type { char name[10]; long num; char sex; struct date_type birthday; float score; char address[10]; }s1[3]; struct stud_type s2[5];
struct ym_type { 输入一个职工的工资信息, 例. 输入一个职工的工资信息,整体 int y; 赋值给另一个变量,在屏幕上输出。 赋值给另一个变量,在屏幕上输出。 int m; }; struct salary_type { char num[5]; char name[17]; struct ym_type ym; float salary; float other; float cost; };
#define N 5
char name[11]; int score; }t,s[N]; main() { /*输入基本信息 输入基本信息*/ 输入基本信息 /*选择排序成绩 选择排序成绩*/ 选择排序成绩 /*输出基本信息 输出基本信息*/ 输出基本信息 }
/*选择排序成绩 选择排序成绩*/ 选择排序成绩 for(i=0;i<N-1;i++) { k=i; for(j=i+1;j<N;j++) if(s[k].score<s[j].score) k=j; if(k!=i) { t=s[i]; s[i]=s[k]; s[k]=t; } }
第8章 结构体与共用体
概述
在事务处理中,常需要将一些关系密切但 在事务处理中 常需要将一些关系密切但类型不同的 并为其取一个整体名字, 数据项组织在一起,并为其取一个整体名字,形成一 并为其取一个整体名字 个结构。 语言中,就称其为 个结构。 语言中 就称其为结构体。 C语言中 结构体通常由不同数据类型的数据项(成员)组成 组成 一个结构体可包含若干成员,每个成员具有自己 一个结构体可包含若干成员 每个成员具有自己 的名字及数据类型。 的名字及数据类型。

第八章 结构体和共用体-2004PPT教学课件

第八章 结构体和共用体-2004PPT教学课件
第八章 结构体和共用体
8.1结构体类型的定义 8.2结构体类型变量的定义和引用 8.3结构体类型数组 8.4指向结构体类型数据的指针 8.5共用体类型 8.6枚举类型 8.7用类型是“构造类型”,它是由 若 干个类型相同或不同的数据组合而成的,前面已经介绍过的 数组就是一种构造类型,但是它只有存放数据类型相同的若 干个数据,如果出现数据类型不同的若干个数据,用单个数 组就无法将它们存放在一起为了整体存放这些类型不同的相 关数据,C语言提供了另一种构造类型:结构体类型,它可 以将若干个不同类型的数据存放在一起。
例如,为了存放一个人的姓名、性别、年龄、工资, 可以定义如下的结构体类型: struct person
{ char name[20]; char sex; int age; float wage;
};
6
又如,为了存放一个学生的学号、姓名、性别、年龄、 成绩1、成绩2、成绩3,可以定义如下的结构体类型: struct stu
9
在定义变量的同时,可以对变量赋初值,例如上例中的 定义语句可以改写如下:
struct student x={100001L,"zhao1",'f',{89,94,86}}, y={100002L,"zhao2",'m',{78,86,92}};
这个定义语句将使得变量x和y的各个成员获得如下的初值: number name sex score[0] score[1] score[2]
8
返回
结构体类型变量的定义和引用
一、结构体类型变量的定义和初始化
1、先定义结构体,后定义变量 例如,为学生信息定义2个变量,程序段如下:
struct student {long number; char name[20]; char sex; float score[3]; }; ... struct student x,y;

C语言 第八章 结构体

C语言 第八章 结构体

共用体
3)直接定义联合变量 union {
int i;
float f; }num; 说明:(1)共用体变量的所有成员占有同一段内存,所占内存空 间是其成员中字节数最大的成员占有的字节数。
(2)共用体变量中可以定义许多不同类型的成员,但同一时刻只
有一个成员的数据有效。
共用体
4.共用体变量初始化 初始化时,只能对第一个成员的数据类型初始化。 例:union data num={10}; 正确 union data num={10,25.4}; 错误
结构体变量
方法三:定义结构体类型的同时定义结构体变量,省略结构体类型名
struct DATE{ int year; int month; int day;}; struct {
long int number;
char name[8]; int age;
char *sex;
struct DATE birthday; }stu1,stu2;
数据类型
数据类型
成员名1;
成员名2;
//成员表
……
};
结构体类型
2.结构体类型的定义: 说明: (1) struct是关键字,标识一个结构体类型定义的开头 (2)“结构体类型名”是表示该结构体类型的名称的标识符,可
类比int、char
(3)“成员表”是构成结构体类型的成份,由一个或多个成员构
成,每个成员有自己的成员名。各成员数据类型可以不同,既可以
枚举类型
3.枚举变量定义
方式一:类型和变量分开定义 enum WEEKDAY{Sun,Mon,Tue,Wed,Thu,Fri,Sat};//定义枚举类型 enum WEEKDAY w;//定义枚举变量w

C语言构造类型

C语言构造类型

8.1 概述
C语言提供了自定义数据类型的方法,通过 自定义类型将不同类型的数据组合成一个 有机的整体,这些数据在一个整体中是互 相联系的。 这种自定义的数据类型叫构造类型。 实际上在前面已经学习了一种构造类型—— 数组,数组是具有相同数据类型的一组元 素集合。除了数组之外还有结构体、共用 体。
8.2 结构体
8.8 链表
建立动态链表的步骤如下:
第一步:定义一个头指针head并指向NULL。
第二步:开辟新结点,并使p1,p2指向它,然后输 入一个学生数据给新结点,并使指针域指向 NULL。
Байду номын сангаас 8.8 链表
第三步:由于p1->num!=0,所以再开辟一个新结 点,并使p1指向新结点,然后输入一个学生数 据给新结点,并使指针域指向NULL。
8.4 结构体变量的引用
引用结构体变量要遵守如下规则:
(1)不能将一个结构体变量作为一个整体进行输 入输出(引用),而只能对结构体变量中的各 个成员分别进行输入和输出(引用)。
结构体变量成员引用格式:
返 回
“.”是成员(又叫分量)运算符,它的优先级最
高。例如 stu1.num=10001;
8.4 结构体变量的引用
关于结构体类型说明 :
①类型与变量是两个不同的概念,不能混淆。变 量分配内存空间,类型不分配空间。
②对结构体中的成员可以单独使用,相当于普通 变量,引用方法后面具体讲述。 ③结构体中成员也可以是一个结构体变量。
struct date { int month; int day; int year; }; struct student { int num; char name[20]; char sex; int age; struct date birthday;/*birthday是struct date类型*/ char addr[30]; }stu1,stu2;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-6-23 20
4. 结构体数组应用举例
编写一程序P4-415.C实现以下功能 实现以下功能 编写一程序 设有10名歌手 编号为 设有 名歌手(编号为 名歌手 编号为1-10)参加歌 参加歌 咏比赛,另有6名评委打分 名评委打分, 咏比赛,另有 名评委打分,每位歌手 的得分从键盘输入:先提示" 的得分从键盘输入:先提示"Please input:",再依次输入第 个歌手的 位 个歌手的6位 ,再依次输入第1个歌手的 评委打分(10分制 分数为整型, 分制, 评委打分 分制,分数为整型,分数 之间使用空格分隔), 个歌手的 个歌手的6位 之间使用空格分隔 ,第2个歌手的 位 评委打分...以此类推 以此类推. 评委打分 以此类推.计算出每位歌手 的最终得分(扣除一个最高分和一个最 的最终得分 扣除一个最高分和一个最 低分后的平均分,最终得分保留2位小 低分后的平均分,最终得分保留 位小 数),最后按最终得分由高到低的顺序 , 输出每位歌手的编号及最终得分. 输出每位歌手的编号及最终得分. 注意:变量数据类型的选择应适当, 注意:变量数据类型的选择应适当, 在保证满足设计要求精度的情况下, 在保证满足设计要求精度的情况下,养 成不浪费内存空间和计算时间的好习惯. 成不浪费内存空间和计算时间的好习惯.
2010-6-23
17
⒊ 结构体数组的初始化 方法(1): 方法 : struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu[2]={{10101, "Li Lin", 'M',18,87.5, "Beijing Road" }, {10102, "Zhang Fun", 'M',19,99, "130 Shanghai Road" }}; num stu[0] 10010 num 2010-6-23 stu[1] 10011 name LiFun name Zhang sex M sex M age 18 age 20 score 87.5 score 55 addr Beijing addr Tianjin
2010-6-23 21
#include <stdio.h> #define N 10 struct person { int number; int score[6]; float finalScore; }; int main(void) { int i, j, sum, max, min; struct person tmp, singer[N]; printf("Please input:"); for (i = 0; i < N; i++) { singer[i].number = i + 1; for (j = 0; j < 6; j++) { scanf("%d", &singer[i].score[j]); } } 2010-6-232010-6- Nhomakorabea3 14
).
struct是结构体类型的关键字 A) struct是结构体类型的关键字
结构体数组
⒈ 结构体数组的定义 数组中的每一个元素都是结构体类型的数据, 数组中的每一个元素都是结构体类型的数据,则称这样 的数组为结构体数组. 的数组为结构体数组. ⒉ 定义结构体数组
2010-6-23
2010-6-23
name
sex
age
score
addr
16
stu[1]
方法2 ⑵ 方法 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; } stu[2];
方法3 ⑶ 方法 struct { int num; char name[20]; char sex; int age; float score; char addr[30]; } stu[2];
15
方法1
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu[2]; name sex age score addr
num stu[0] num
9
num
2010-6-23
name
结构体变量的初始化
struct date { int month; int day; int year; 回顾: 回顾:对整型变量的初始化 }; name: Mary int main(void) int a=3; { struct student sex: F { char name[20]; char sex; birthday:10 23 1985 struct date birthday; }a = {"Mary", 'F', 10, 23, 1985}; printf("name: %s\nsex: %c\nbirthday:%d %d %d\n", , a.sex, a.birthday.month, a.birthday.day, a.birthday.year); return 0; }
2010-6-23 11
⑵ 如果成员本身又属于一个结构体类型,则要用若干个成员 如果成员本身又属于一个结构体类型, 运算符,一级一级地找到最低一级的成员. 运算符,一级一级地找到最低一级的成员.只能对最低级 的成员进行赋值或存取以及运算. 的成员进行赋值或存取以及运算. 例如: 例如: a.birthday.year=1980 a.birthday.day=23 a.birthday.month=10
2010-6-23
5
定义结构体类型变量的方法
⒈ 先声明结构体类型再定义变量名
例如: 例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student student1;
2010-6-23 19
方法(3): 方法 : struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu[]={{10101, "Li Lin", 'M',18,87.5, "Beijing Road" }, {10102, "Zhang Fun", 'M',19,99, "130 Shanghai Road" }};
2010-6-23
13
课堂练习: 课堂练习: 1.设有以下说明语句: 设有以下说明语句: struct ex { int x; float y; char z; } example; 则下面的叙述中不正确的是( 则下面的叙述中不正确的是( example是结构体类型名 B) example是结构体类型名 C) x, y, z都是结构体成员名 z都是结构体成员名 ex是结构体类型名 D) struct ex是结构体类型名
对结构体变量的成员可以像普通变量一样进行各种运算. ⑶ 对结构体变量的成员可以像普通变量一样进行各种运算.
2010-6-23 12
例如: 例如: student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student2.age;
2010-6-23 3
⒈ 结构体类型的引入
例如 1: : struct student { int num; char name[20]; char sex; int age; float score; char addr[30];
2010-6-23
⒉ 结构体类型的声明
struct 结构体名 { 成员表列 }; ;
18
方法(2): 方法 : struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu[ ]={{10101, "Li Lin", 'M',18,87.5, "Beijing Road" }, {10102, "Zhang Fun", 'M',19,99, "130 Shanghai Road" }};
8
4. 结构体类型的成员也可 以是一个结构体变量. 以是一个结构体变量. 例如: 例如: struct date { int month; int day; int year; }; struct student { int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }; struct student student1; sex age birthday addr month day year
2010-6-23
7
⒉ 在声明类型的同时定义变量 一般形式: 一般形式: struct 结构体名 { 成员表列 }变量名表列; 变量名表列; 变量名表列 例如: 例如: struct birthday { int month; int day; int year; }tom; 2010-6-23
相关文档
最新文档