结构体和共用体演示文稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char name[20];
char int float char };
sex; age; score; addr[30];
struct student student1, student2;
结构体变量中的各成员,在内存中顺序存放。结 构体变量所占内存大小用运算符sizeof计算。 例、
printf(" %d %d \n",sizeof(struct student),sizeof(student1));
scanf("%d", &student1.num);
2、当成员是另一个结构体变量时,应一级 一级地引用成员。
例4、
student1.num; student1.name; student1.birthday.month; student1.birthday.day; student1.birthday.year;
student1.age, student1.score, sutdent1.addr);
printf("%d,%s,%c,%d,%f,%s", student1);
例2、
student2.score = student1.score; sum = student1.score + student2.score; student1.age++; ++student1.age; 例3、
结构体和共用体演示文稿
wk.baidu.com
(优选)结构体和共用体
一个学生的学号、姓名、性别、年龄、成绩、
地址,是互相联系的数据,在C语言中用“结构 体(structure)”来定义。
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
3、仅在以下两种情况下,可以把结构体变 量作为一个整体来访问。
(1) 结构体变量整体赋值,例、 student2 = student1;
(2)取结构体变量地址,例、 printf("%x", &student1);
返回本章目录
§11.4 结构体变量的初始化 struct student
{ long int num;
四、成员是另一个结构体变量
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]; } student1, student2;
§11.3 结构体变量的引用
1、一般情况下,不能将一个结构体变量作为整体来引用, 只能引用其中的成员(分量)。引用结构体成员的方式: 结构体变量名.成员名
.是“成员运算符” 例1、
printf("%d,%s,%c,%d,%f,%s", student1.num, student1.name, student1.sex,
§11.5 结构体数组
一、结构体数组的定义
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
struct student stu[3];
二、结构体数组的初始化 (见课本P266)
二、在定义类型的同时定义变量
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1, student2;
三、直接定义变量
struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1, student2;
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu[3] = {
{10101,"Li Lin", 'M', 18, 87.5, "103 Bejing Road"}, {10102,"Zhang Fun",'M', 19, 99, "130 Shanghai Roaad"}, {10104,"Wang Min", 'F', 20, 78.5, "1010 Zhongshan Road"} };
为了方便,可以这样定义结构体变量:
#define STUDENT struct student STUDENT
{ int num; char name[20]; char sex; int age; float score; char addr[30];
}; STUDENT student1, student2;
/* 学号 */ /* 姓名 */ /* 性别 */ /* 年龄 */ /* 成绩 */ /* 地址 */
§11.2 结构体变量的定义
结构体是一种数据类型 (像int、char、 flaot数据类型一样),
可以用它定义变量。
用结构体类型定义变量的方式有三种:
一、先定义结构体类型,再定义变量
例、
struct student { int num;
三、举例 [例11.2] 对候选人得票的统计程序。设有
三个候选人,每次输入一个得票的候选 人的名字,要求最后输出各候选人得票 结果。
char name[20];
char sex; char addr[20];}a = {89031, "Li Lin", 'M', "123 Beijing Road"}; 注意:不能在结构体内赋初值。例、
struct student { long int num = 89031; char name[20] = "Li Lin"; char sex = 'M'; char addr[30] = "123 Bejing Road"; }a;