📄 codetc27.dat
字号:
结构体
C语言允许用户自已指定这样一种数据结构,它称为结构体(structure).它相当于其他高级语言中的"记录".
num name sex age score addr
-----------------------------------------------------
1001 Li Fun M 18 87.5 Beijing
-----------------------------------------------------
假设程序要用到上图所表示的数据结构,但是C语言没有提供这种现成的数据类型,因此用户必须要在程序中建立所需要的结构体类型.
例如:
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
注意不要忽略最后的分号.上面程序设计者指定了一个新的结构体类型struct student(struct声明结构体类型时所必须使用的关键字,不能省略),它向编译系统声明这是 一 个"结构体类型",它包括num,name,sex,age,score,addr等不同类型的数据项.应当说明struct student是一个类型名,它和系统提供的标准类 型(如int,char,float,double等)一样具有同样的地位和作用,都可以用来定义变量的类型,只不过结构体类型需要由用户自己定义而已.
声明一个结构体类型的一般形式为:
struct 结构体名
{ 成员表列 };
"结构体名"用作结构体类型的标志,它又称"结构体标记"(structure tag).上面的结构体声明中student就是结构体名(结构体标记).大括弧内是该结构体中的各个成员,由 它们组成一个结构体.例如,上例中的num,name,sex等都是成员.对各成员都应进行类型声明,即: 类型名 成员名
也可以把"成员表列"称为"域表".每一个成员也称为结构体中的一个域.成员名定名规则与变量名同.
定义结构体类型的变量的方法
前面只是指定了一个结构体类型,它相当于一个模型,但其中并无具体数据,系统对之也不分配实际内存单元.为了能在程序中使用结构体类型的数据,应当定义结构体类型的变 量,并在其中放具体的数据.可以采用以下三种方法定义变量.如
1. 先声明结构体类型再定义变量名
如上面已定义了一个结构体类型 struct student,可以用它来定义变量.如:
struct student student1,student2;
------------- -------- ---------
结构体类型名 结构体变量名
2. 在声明类型的同时定义变量
例如: struct student
{
int num;
char name[20];
int age;
float score;
}student1,student2;
它的作用与第一种方法相同,即定义了两个struct student类型的变量student1,student2.这种形式的定义的一般形式为:
struct 结构体名
{
成员表列
}变量名表列;
3. 直接定义结构类型变量
其一般形式为:
struct
{
成员表列
}变量名表列;
即不出现结构体名.
结构体变量的引用
引用结构体变量中成员的方式为: 结构体变量名.成员名
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -