今天在看数据结构时发现其实c++结构与c语言结构体是有区别的以前没有注意到这点。
c和c++结构体的声明都是一样的
struct struct_name
{
};
但是在使用时会有不同
c中声明结构体变量是 struct struct_name a;//a是变量名
而c++中直接使用struct_name a;就能声明变量。
所以在c中为了方便,常常使用typedef为结构体构建别名。
typedef struct struct_name
{
}Str;
这样就可以直接使用 Str a;构建结构体变量。
还可以不使用struct_name,直接使用
typedef struct
{
}Str;
在c++中也可以使用typedef但c++中有更方便的使用方法
struct struct_name
{
}a;
这样可以直接使用a这个变量