#include <stdio.h>
/*结构体的概念及定义:
*
* 构造类型:
* 不是基本类型的数据结构也不是指针,它是若干个相同或不同类型的数据构成的集合
* 常用的构造类型有数组、结构体、公用体。
* 数组用于保存多个相同类型的数据。结构体用于保存多个不同类型的数据。
* 结构体概念:
* 结构体是一种构造类型的数据结构
* 是一种或多种基本类型或构造类的数据的集合
* 结构体类型的定义:
* (1)先定义结构体类型,再去定义结构体变量。
* struct 结构体类型名{
* 成员列表
* };
* struct stu{
* int num;
* char name[20];
* cahr sex;
* };
* 有了结构体类型之后,就可以定义变量了;
* struct stu lucy,bob,lilei;//定义了三个struct stu类型的变量注意不能省略struct。
* 每个变量有三个成员,分别是num name sex
* (2)在定义结构体类型的时候顺便定义结构体变量,以后还可以定义结构体变量
* struct 结构体类型名{
* 成员列表
* }结构体变量1,结构体变量2;
* struct 结构体类型名 变量3,变量4;
* struct stu{
* int num;
* char name[20];
* char sex;
* }lucy,bob,lilei;
* struct stu xiaohong,xiaoming;
* 注意:
* 一般结构体类型都会定义在全局,也就是main函数的外面
* 所以在定义结构体类型的同时定义变量,这些变量一般都是全局变量
* 定义完类型之后定义的结构体变量内存分配要看定义的位置。
* (3)在定义结构体类型的时候,没有结构体类型名,顺便定义结构体变量,
* 因为没有类型名,所以以后不能在定义相关类型的数据了
* strucr{
* 成员变量;
* }变量1,变量2;
* struct{
* int num;
* char name[20];
* char sex;
* }lucy,bob;
* 注意:无名结构体由于没有结构体名,所以在定义完之后是无法再定义结构体变量的,
* 只能在定义类型的同时定义结构体变量
* (4)最常用方法
* 通常咱们将一个结构体类型重新起个类型名,用新的类型名替代原先的类型
* 步骤1:先用结构体类型定义变量
* struct stu{
* int num;
* char name[20];
* char sex;
* }bob;
* 步骤2:新的类型名替代变量名
* struct stu{
* int num;
* char name[20];
* char sex;
* }STU;
* 步骤3:在最前面加typedef
* typedef struct stu{
* int num;
* char name[20];
* char sex;
* }STU;
*/
int main()
{
printf("Hello World!\n");
return 0;
}