12.构造类型:
构造类型:
由一个或者多个已定义类型的元素用构造的方法,构造新的类型
构造类型:
数组 结构体
结构体:
由相同类型或者不同类型的数据用构造方法,构造的类型
结构体的定义
struct 结构体名{
成员列表;
}; //注意此处的分号不能省
比如要定义一个汽车的结构体
struct Car{
char *color;
int lunzi;
int speed;
};
定义一个iPhone的结构体
struct iPhone{
char *color;
float screenSize;
int sn;
int imei;
};
定义一个学生的结构体
struct Student{
char name[20];
char sex;
int age;
float score;
int sno;
};
#include <stdio.h>
int main(int argc, const char * argv[]) {
//定义一个车的结构体
struct Car{
char *color;
int lunzi;
int speed;
};
//定义一个iPhone的结构体
struct iPhone{
char *color;
float screenSize;
int sn;
int imei;
};
//定义一个学生的结构体
struct Student{
char name[20];
char sex;
int age;
float score;
int sno;
};
return 0;
}
13. 结构体变量有定义有三种方法
1)先定义结构体,然后在定义结构体变量
struct Student{
//学生学号
int sno;
//学生姓名
char name[21];
//学生年龄
int age;
//学生成绩
float score;
};
//注意:
1)结构体定义完成以后,计算机并不会给结构体分配内存空间
2)会在定义结构体变量后,分配存储空间
//结构体变量定义格式:
struct 结构体名 结构体变量名;
struct Student stu1; //这句话表示定义一个Student结构体类型的变量,变量的名称是stu1;
//stu1因为是Student类型,stu1可以存放学生的学号、姓名、年龄、成绩
struct Studentstu4,stu2,stu3; //定义多个结构体变量
2)定义结构体的同时,定义结构体变量
格式:
struct 结构体名{
}结构体变量1,结构体变量2....;
struct Student{
//学生学号
int sno;
//学生姓名
char name[21];
//学生年龄
int age;
//学生成绩
float score;
}stu5,stu6,stu7; //也是用Student结构体定义了三个结构体变量
//名称分别为stu5,stu6,stu7
3)使用匿名结构体定义结构体变量
struct {
}结构体变量1,结构体变量2....;
struct {
char *color;
int lunzi;
int speed;
}car1,car2,car3;
#include <stdio.h>
struct Student{
//学生学号
int sno;
//学生姓名
char name[21];
//学生年龄
int age;
//学生成绩
float score;
};
int main(int argc, const char * argv[]) {
//第一种方法
struct Student stu1; //这句话表示定义一个Student结构体类型的变量,变量的名称是stu1;
//第二种,定义结构体的同时,定义结构体变量
struct Student{
//学生学号
int sno;
//学生姓名
char name[21];
//学生年龄
int age;
//学生成绩
float score;
}stu5,stu6,stu7; //也是用Student结构体定义了三个结构体变量
//名称分别为 stu5,stu6,stu7
struct {
char *color;
int lunzi;
int speed;
}car1,car2,car3;
return 0;
}
14.结构体变量的方位方法:
结构变量名.成员名
例如:boy1.num
|