华南农业大学:《C程序设计》第十一章 结构体与共用体

第十一章结构体与共用体 11.1概述 数据的基本类型:整型、实型、字符型等 构造类型:数组 如何描述一个学生的基本信息? 学号,名称,性别,年龄,成绩,地址
第十一章 结构体与共用体 11.1 概 述 数据的基本类型:整型、实型、字符型等 构造类型:数组 如何描述一个学生的基本信息? 学号,名称,性别,年龄,成绩,地址

C语言提供了这样一种数据结构:结构体( structure) 它相当于“记录”。 num name sex age score addr 10010 LiFun M 1887. 5 Beijing 例如: struct student fint num char name [20] char sex int age; float score char addr[30]
C语言提供了这样一种数据结构:结构体(structure) 它相当于“记录” 。 num name sex age score addr 10010 LiFun M 18 87.5 Beijing 例如: struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; };

定义一个结构体类型的一般形式为: struct结构体名 成员表列 “成员表列”对各成员都应进行类型说明,即: 类型标识符成员名; 也可以把“成员表列”称为“域表”,每一个成员 称为结构体中的一个域
定义一个结构体类型的一般形式为: struct 结构体名 { 成员表列 }; “成员表列”对各成员都应进行类型说明,即: 类型标识符 成员名; 也可以把“成员表列”称为“域表” ,每一个成员 称为结构体中的一个域

11.2定义结构体类型变量的方法 要定义一个结构体类型的变量,可以采取以 下三种方法。 先定义结构体类型再定义变量名 如已定义结构体类型 struct student,可以 用它来定义变量: struct student student1 student2
11.2 定义结构体类型变量的方法 要定义一个结构体类型的变量,可以采取以 下三种方法。 一、先定义结构体类型再定义变量名 如已定义结构体类型struct student,可以 用它来定义变量: struct student student1,student2;

为了使用方便,人们通常用一个符号常量代表一个结构 体类型。在程序开头,用 # define stud struct student-预处理命令 在程序中,STUD与 struct student完全等效 STUD fint num char name [20] char sex: int age; float score char addr [30] 可以直接用STUD定义变量 STUD student1 student2
为了使用方便,人们通常用一个符号常量代表一个结构 体类型。在程序开头,用 #define STUD struct student -预处理命令 在程序中,STUD与struct student完全等效。 STUD {int num; char name[20]; char sex; int age; float score; char addr[30]; }; 可以直接用STUD定义变量: STUD student1,student2;

在定义类型的同时定义变量 例如: struct student lint num char name [20] char sex int age, float score char addr[301 student 1. student2 既定义了类型,又定义了两个 struct studen类型的 变量 student1, student2
二、在定义类型的同时定义变量 例如:struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; } student1,student2; 既定义了类型,又定义了两个struct student类型的 变量student1,student2

三、直接定义结构类型变量 其一般形式为: struct 无结构体名 成员表列 变量名表列;
三、直接定义结构类型变量 其一般形式为: struct --无结构体名 { 成员表列 } 变量名表列;

关于结构体类型,有几点要说明: 类型与变量是不同的概念: 只能对变量赋值、存取或运算,而不能对类型赋值、 存取或运算。 在编译时,对类型是不分配空间的,只对变量分 配空间。 2.对结构体中的成员(即“域”),可以单独使用, 它的作用与地位相当于普通变量; strcpy(student name, "zhang) 3.成员名可以与程序中的变量名相同;
关于结构体类型,有几点要说明: 1.类型与变量是不同的概念: 只能对变量赋值、存取或运算,而不能对类型赋值、 存取或运算。 在编译时,对类型是不分配空间的,只对变量分 配空间。 2. 对结构体中的成员(即“域”),可以单独使用, 它的作用与地位相当于普通变量; strcpy(student1.name,”zhang”) 3. 成员名可以与程序中的变量名相同;

4.成员也可以是一个结构体变量。 如: struct date I int month int day; int year: y struct student I int num char name[20] char sex int age; struct date birthday; char addr[3 0] 6 student1, student2 说明:先定义一个结构体date类型,它代表“日 期”,包括三个成员
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]; }student1,student2; 说明:先定义一个结构体date类型,它代表“日 期”,包括三个成员

11.3结构体类型变量的引用 引用方式:结构体变量名.成员名 student num=10010: 注:“·〃"是成员(分量)运算符,它在所有的运算 符中优先级最高。 引用结构体变量应遵守以下规则: 1、不能将一个结构体变量作为一个整体进行 输入和输出。 printf(m%d, %s, %c, %d, %f, %s\n,", student1) 只能对结构体变量中的各个成员分别输出
11.3 结构体类型变量的引用 引用方式: 结构体变量名.成员名 student.num=10010; 注:“·”是成员(分量)运算符,它在所有的运算 符中优先级最高。 引用结构体变量应遵守以下规则: 1、不能将一个结构体变量作为一个整体进行 输入和输出。 printf(”%d,%s,%c,%d,%f,%s\n,”,student1); 只能对结构体变量中的各个成员分别输出
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南农业大学:《C程序设计》第十章 指针.ppt
- 《网页设计技术教程》第9章 创建站点和文档.ppt
- 《网页设计技术教程》第8章 Dreamweaver MX概述.ppt
- 《网页设计技术教程》第7章 设计站点.ppt
- 《网页设计技术教程》第6章 表单.ppt
- 《网页设计技术教程》第5章 网页特效的制作.ppt
- 《网页设计技术教程》第4章 图像、表格与框架.ppt
- 《网页设计技术教程》第3章 网页基本操作.ppt
- 《网页设计技术教程》第2章 FrontPage 2002概述.ppt
- 《网页设计技术教程》第20章 图像的优化.ppt
- 《网页设计技术教程》第1章 网站设计与网页.ppt
- 《网页设计技术教程》第19章 网页动画制作.ppt
- 《网页设计技术教程》第18章 图层、蒙版.ppt
- 《网页设计技术教程》第17章 Fireworks MX文档操作和.ppt
- 《网页设计技术教程》第16章 Fireworks MX简介.ppt
- 《网页设计技术教程》第15章 使用模板和库.ppt
- 《网页设计技术教程》第14章 插入媒体对象.ppt
- 《网页设计技术教程》第13章 框架和表单.ppt
- 《网页设计技术教程》第12章 层、时间轴和.ppt
- 《网页设计技术教程》第11章 表格与布局.ppt
- 华南农业大学:《C程序设计》第二章 程序的灵魂一算法.ppt
- 华南农业大学:《C程序设计》第三章 C语言基础.ppt
- 华南农业大学:《C程序设计》第四章 最简单的C程序设计.ppt
- 华南农业大学:《C程序设计》第五章 选择结构程序设计.ppt
- 华南农业大学:《C程序设计》第六章 循环控制.ppt
- 华南农业大学:《C程序设计》第七章 数组的概念及应用.ppt
- 华南农业大学:《C程序设计》第八章 函数.ppt
- 华南农业大学:《C程序设计》第九章 预处理命令.ppt
- 华南农业大学:《C程序设计》第一章 C语言概述.ppt
- 《Mathematics for Computer》Lecture 13 induction1.pdf
- 《Mathematics for Computer》Lecture 11 Logic.pdf
- 《Mathematics for Computer》Lecture 12 proofs.pdf
- 《Mathematics for Computer》Lecture l4 induction 2.pdf
- 《Mathematics for Computer》Lecture15 induction 3.pdf
- 《Mathematics for Computer》Lecture 16 numtheory 1.pdf
- 《Mathematics for Computer》Lecture 17 numtheory2.pdf
- 《Mathematics for Computer》Lecture19 graphs 2.pdf
- 《Mathematics for Computer》Lecture l8 graphs1.pdf
- 《Mathematics for Computer》Lecture 12 recur2.pdf
- 《Mathematics for Computer》Lecture 10 sums 1.pdf