typedef定义结构体
C
struct Student {
};
//定义一个Student的结构体,没有声明变量。
//如果需要声明一个Student类型的变量:struct Student stu_1;
struct Student {
} stu_1;
//定义一个Student的结构体,并且声明了一个变量stu_1,
//在创建结构体的同时就声明了一个变量,如果需要在创建结构体时声明多个变量,可增加。
//如果还需要在别处继续声明变量:struct Student stu_2;
typedef struct Student {
} Stu;
//此处Stu不是一个变量,而是Student类型的别名。与没有使用typedef的区别是:
//在声明一个变量时可以使用 `Stu stu_1` 代替 `struct Student stu_1` ,但后者仍可使用
typedef struct {
} Stu;
//声明变量时只能使用 `Stu stu_1`
C++
struct Student {
};
//与C不同的是,C++可以直接使用 `Student stu_1;` 来定义变量。相对简单,直接
struct Student {
} stu_1;
//创建结构体时就声明了一个变量,同样可使用 `Student stu_2;` 定义变量
typedef struct Student {
} Stu;
//Stu是Student结构体的一个别名,
typedef struct {
} Stu;
//只知道别名,声明变量:Stu stu_1;