结构体:一种构造类型,由若干个成员组成,每一成员可以是一个基本数据类型或者是一个构造类型,也就是说结构体中可以再嵌套结构体。
声明结构体使用关键字:struct
struct 结构体名字
{
成员变量(类型 成员名字)
}
声明一个结构体相当于构造了一个新的类型,可以通过构造类型定义相应的变量。
1、定义结构体变量,先定义构造类型,再定义结构体变量。
例如:
struct Product
{
char cName[10]; /*产品名称*/
char cShape[20]; /*形状*/
char cColor[10]; /*颜色*/
char cFunc[20]; /*功能*/
int iPrice; /*价格*/
char cArea[20]; /*产地*/
};
struct Product product1;
struct Product product2;
2、在申明结构体类型的同时定义结构体变量(可以定义多个)
如:
struct Product
{
char cName[10]; /*产品名称*/
char cShape[20]; /*形状*/
char cColor[10]; /*颜色*/
char cFunc[20]; /*功能*/
int iPrice; /*价格*/
char cArea[20]; /*产地*/
}Product1,Product2;
3、直接定义结构体变量
struct{
成员列表
}变量名列表;
例如
struct
{
char cName[10];
char cShape[20];
char cColor[10];
int iPrice;
char cArea[20];
}product1,product2;
结构体嵌套:
struct data
{
int year;
int month;
int day;
};
struct student
{
int num; /*学号*/
char name[30]; /*姓名*/
char sex; /*性别*/
int age; /*年龄*/
struct data birthday; /*出生日期*/
}student1,student2;
引用结构体变量
结构变量名.成员名
若出现结构体嵌套,这时需要使用若干个成员运算符,一级一级的找到最低一级的成员。只能对最低级的成员(基本类型)进行赋值或存取以及运算操作
结构体变量的赋值:
赋值的错误方式如下:不可以在结构体内部给结构体变量的每个成员赋值;
struct students
{
char cName[20] = "张家聪"
char cSexp[3] = "男"
int iGrade = 3;
}student1;
正确的赋值方法:
struct students
{
char cName[20];
char cSex[3];
int iGrade = 3;
}student1={"feiren","nan","3"};