结构体类型:
在一个组合项中包含若干个类型不同的数据项,C++允许指定这样一种数据类型,称它为结构体。
声明结构体的格式:
struct 结构体类型名
{
成员表
};
struct Student
{
int num; //包含一个整数变量
char name[20]; //包含一个字符数组
int age; //包含整形变量age
char sex; //包含字符变量
float score; //包含单精度型变量
char addr[30];// 字数数组
};
Student 就是一个新的结构体
定义结构体类型变量的方法:
1. 先定义一个结构体Student
Student stu1, stu2;
与类的用法一致
2.在声明类型的同时定义变量 :
struct Student
{
int num; //包含一个整数变量
char name[20]; //包含一个字符数组
int age; //包含整形变量age
char sex; //包含字符变量
float score; //包含单精度型变量
char addr[30];// 字数数组
}student1,student2; //注意分号在外面
3.也可直接定义结构体类型变量
struct
{
成员表
}变量名;
虽然可以,但是很少使用;
推荐使用第一种方法
结构体的成员也可以是一个结构体变量
结构体的是初始化:
//第一种初始化方法
struct Student
{
int num; //包含一个整数变量
char name[20]; //包含一个字符数组
int age; //包含整形变量age
char sex; //包含字符变量
float score; //包含单精度型变量
char addr[30];// 字数数组
}student ={101."zhangsan",19,'M',90.5,"ShangHai"};
//第二种初始化方法
struct Student
{
int num; //包含一个整数变量
char name[20]; //包含一个字符数组
int age; //包含整形变量age
char sex; //包含字符变量
float score; //包含单精度型变量
char addr[30];// 字数数组
};
Student student ={101."zhangsan",19,'M',90.5,"ShangHai"};
(1)一个结构体的变量的值可以赋给另一个具有相同类型的得变量
(2)可以引用结构体中的一个成员的值:
结构体变量名.成员名
student.num=101;
如果成员本事也是一个结构体那就是逐级引用
(3)不能将一个 结构体整体进行输入输出
(4)可以引用结构体变量成员的地址,也可以也用结构体变量的地址
(5)结构体数组:
struct Student
{
int num; //包含一个整数变量
char name[20]; //包含一个字符数组
int age; //包含整形变量age
char sex; //包含字符变量
float score; //包含单精度型变量
char addr[30];// 字数数组
}stu[3];