菜鸟笔记
提升您的技术认知

C++中结构体的4种定义

1. 先定义结构体类型再单独进行变量定义

struct Student
{
    int Code;
    char Name[20];
    char Sex;
    int Age;
};
struct Student Stu;
struct Student Stu[10];
struct Student *pStru;

结构体类型是struct Student,因此,struct和Student都不能省略。但实际上,我用codeblocks运行时,下面变量的定义,不加struct 也是可以的。

2. 紧跟在结构体类型说明之后进行定义

struct Student
{
    int Code;
    char Name[20];
    char Sex;
    int Age;
}Stu,Stu[10],*pStu;

这种情况时,后面还可以再定义结构体变量。

3. 在说明一个无名结构体变量的同时直接进行定义

​
struct
{
    int Code;
    char Name[20];
    char Sex;
    int Age;
}Stu,Stu[10],*pStu;

​

这种情况下,之后不能再定义其他变量。

4. 使用typedef说明一个结构体变量之后再用新类名来定义变量

​
typedef struct
{
    int Code;
    char Name[20];
    char Sex;
    int Age;
}Student;
Student Stu,Stu[10],*pStu;

​

Student是一个具体的结构体类型,唯一标识。这里不用再加struct