/*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}};
结构体类型定义说明初始化
最新推荐文章于 2022-07-04 11:17:09 发布
本文详细介绍了C++中结构体的定义方式,包括先定义后声明、直接定义、typedef重命名以及结构体变量的初始化。同时,通过示例展示了如何初始化包含复杂结构体类型的变量,强调了初始化过程中的规则和注意事项。
摘要由CSDN通过智能技术生成