/ 结构体 数组
/ 声明结构体类型的通常形式:函数
struct 结构体名[--表示的是这个结构体的类型] 指针
{内存
成员列表 io
}; [不要漏掉这个";"] 变量
/ 声明结构能够放在main函数内,也能够放在main函数外 引用
/ 定义结构体变量的通常形式: nio
struct 结构体名 结构体变量名; 数据
如:struct Product product1; 时间
/ 声明结构体的同时定义结构体变量(能够是多个)
如:
struct Product
{
char name[10];
char color[10];
int price;
}product1,product2;
/ 引用结构体变量
/ 不能将结构体变量做为一个总体进行输入输出
/ 对结构体变量进行赋值、存储或运算,实质上就是对结构体成员的操做
/ 引用的通常形式:
结构体变量.结构体成员
如:product1.name="icecream";
product2.price=20;
[至关于,product1.name才是真正的变量]
/ 结构体类型的初始化
如:
(1) struct Student
{
char name[10];
char sex[10];
int grade;
}student1={"HanXue","W",3};
(2) struct Student student2={"WangJie","M",4};
/ 结构体数组
/ 通常形式
struct Student
{
char name[10];
char sex[10];
int grade;
}sudent[5];
/ 数组中的各数据在内存中的存储是连续的
/ 指向结构体变量的结构体指针
/ 结构体指针指向结构体变量的起始地址
/ 通常形式
struct 结构体类型 *指针名;
如:strcut Student *pStruct;
/ 引用
/ 使用 . 运算符引用结构成员
如:(*pStrcut).name="HanXue"; [括号不能省略,由于"."的运算优先级最高]
/ 使用指向运算符引用结构成员:pStruct -> 成员名
如:pStruct -> name = "HanXue";
/ 共用体
/ 共用体也称联合,它使几种不一样类型的变量存放到同一段内存单元中,因此共用体在同一时刻只能有一个值,它属于某一数据成员
/ 因为全部成员处于同一块内存,所以共用体的大小就等于最大成员的大小
/ 共用体的通常形式
union 共用体名
{
成员列表
}变量列表;
/ 共用体与结构体的区别
/ 共用体定义了一块为全部数据成员共享的内存
/ 结构体定义了一个由多个数据成员组成的特殊类型,结构体变量的大小是全部数据成员的总和
/ 声明、定义、引用等和结构体相似
/ 对共用体变量进行初始化时,只须要一个初始化值,其类型必须和共用体的第一个成员的类型相同
/ 若是第一个成员是一个结构体类型,则初始化值中能够包含多个因为初始化该结构的表达式
/ 同一内存段能够存放集中不一样类型的成员,可是每一次只能存放其中一种类型,而不是同时存放全部的类型;
/ 也就是说,在共用体中,同一时间只能有一个成员起做用
/ 枚举类型
/ 枚举变量的定义
enum 枚举变量名(枚举常量);
/ 一个枚举变量包括一组相关的标识符,其中每一个标识符都对应一个整数值,称为枚举常量;枚举常量的标识符默认从0开始依次叠加