构造数据类型
在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中:
为更好地解决此类问题,C语言采用构造数据类型,通过构造数据类型可以很好地将一些不同类型的数据作为一个整体进行处理。
姓名:字符型;
学号:整型或字符型;
年龄:整型;
性别:字符型;
成绩:整型或实型。
因为一个数组中只能存放同一种数据类型的数据,故不能用一个数组来存放这一组数据;如单独定义为互相独立的简单变量,难以反映它们之间的内在联系。
结构体
“结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型,或者又是一个构造类型。
结构体类型的定义
结构体变量的说明
结构体变量的引用
结构体
先定义,后使用
结构体 结构类型定义和结构变量说明
struct [结构体名]
{
类型标识符 成员名;
类型标识符 成员名;
…………….
};
成员类型可以是
基本数据类型或构造数据类型
struct是关键字,
不能省略
合法标识符
可省:无名结构体
一、结构体的定义
例 struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
name
num
sex
age
score
addr
4字节
4字节
20字节
1字节
4字节
30字节
…
…..
结构体类型定义描述结构
的组织形式,不分配内存
结构是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。
结构定义之后,即可进行变量说明。
括号后的分号不可省
二、结构体变量说明
(1) 先定义结构体类型,再定义结构体变量
一般形式:
struct 结构体名
{ 类型标识符 成员名;
类型标识符 成员名;
…………….
};
struct 结构体名 变量名表列;
例 #define STUDENT struct student
STUDENT
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
STUDENT stu1,stu2;
例 struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
struct student stu1,stu2;
(2) 定义结构体类型的同时定义结构体变量
一般形式:
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}变量名表列;
例 struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu1,stu2;
(3) 直接定义结构体变量
一般形式:
struct
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}变量名表列;
例 struct
构造数据类型 来自淘豆网www.taodocs.com转载请标明出处.