/*struct Student //包含基本数据类型 不能重名
{
int Code; //学号
char Name[20]; //姓名
char Sex; //性别
int Age; //年龄
};
struct Point
{
double x; //x坐标
double y; //y坐标
double z; //z坐标
} ;
struct Line //包含结构体数据类型
{
struct Point StartPoint;
struct Point EndPoint;
} ;*/
//1.先定义结构体类型,再单独进行变量定义
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
};
struct Student Stu;
struct Student Stu[10];
struct Student *pStu;
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
}; //在结构体定义后要有;
struct Student Stu{200301,"张三",'M',21};
//2.紧跟在结构体类型说明之后进行定义
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
} Stu,Stu[10],*pStu;
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301,"张三",'M',21};
//3.在说明一个无名结构体类型的同时直接进行定义
struct
{
int Code;
char Name[20];
char Sex;
int Age;
} Stu,Stu[10],*pStu; //此时,没有定义结构体类型的名字,因此不能再用它来定义其他变量
struct //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301,"张三",'M',21};
//4.使用typedef说明一个结构体类型名后再用新类型名来定义变量
typedef struct
{
int Code;
char Name[10];
char Sex;
int Age;
} Student; //说明的结构体类型名 Student
Student Stu,Stu[10],*pStu; //不可再使用关键字
typedef struct
{
int Code;
char Name[10];
char Sex;
int Age;
} Student; //说明的结构体类型名 Student
Student {200301,"张三",'M',21}; //是否有等号都行
//不允许跳过前面给后面赋值,允许只给前面的若干个成员赋值,后面的成员系统自动赋默认的初值
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301}
struct Line //对于复杂结构体类型变量的初始化,同样遵循上述规律
{
int id;
struct Point StartPoint;
struct Point EndPoint;
} oLine1={0,{0,0,0},{100,0,0}};/*struct Student //包含基本数据类型 不能重名
{
int Code; //学号
char Name[20]; //姓名
char Sex; //性别
int Age; //年龄
};
struct Point
{
double x; //x坐标
double y; //y坐标
double z; //z坐标
} ;
struct Line //包含结构体数据类型
{
struct Point StartPoint;
struct Point EndPoint;
} ;*/
//1.先定义结构体类型,再单独进行变量定义
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
};
struct Student Stu;
struct Student Stu[10];
struct Student *pStu;
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
}; //在结构体定义后要有;
struct Student Stu{200301,"张三",'M',21};
//2.紧跟在结构体类型说明之后进行定义
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
} Stu,Stu[10],*pStu;
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301,"张三",'M',21};
//3.在说明一个无名结构体类型的同时直接进行定义
struct
{
int Code;
char Name[20];
char Sex;
int Age;
} Stu,Stu[10],*pStu; //此时,没有定义结构体类型的名字,因此不能再用它来定义其他变量
struct //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301,"张三",'M',21};
//4.使用typedef说明一个结构体类型名后再用新类型名来定义变量
typedef struct
{
int Code;
char Name[10];
char Sex;
int Age;
} Student; //说明的结构体类型名 Student
Student Stu,Stu[10],*pStu; //不可再使用关键字
typedef struct
{
int Code;
char Name[10];
char Sex;
int Age;
} Student; //说明的结构体类型名 Student
Student {200301,"张三",'M',21}; //是否有等号都行
//不允许跳过前面给后面赋值,允许只给前面的若干个成员赋值,后面的成员系统自动赋默认的初值
struct Student //初始化结构体变量
{
int Code;
char Name[10];
char Sex;
int Age;
} Stu{200301}
struct Line //对于复杂结构体类型变量的初始化,同样遵循上述规律
{
int id;
struct Point StartPoint;
struct Point EndPoint;
} oLine1={0,{0,0,0},{100,0,0}};