结构体的定义方式
在C/C++中结构体的定义方式有很多种,做个简单的总结。
定义方式1:
struct st{
int a;
};
定义方式2:
struct _st{
int a;
} st;
定义方式3:
struct {
int a;
} st;
定义方式4:
typedef struct {
int a;
} st a;
或者
typedef struct _std {
int a;
} st a;
区别:
以上几种定义方式比较常用的,其中方式1只是定义了一中结构体类型,使用的时候需要定义相应的结构体变量。
比如,在C语言中:
struct st ex1;
在C++中:
st ex1;
方式2是同时定义了结构体类型_st并声明了结构体变量st。
方式3是直接声明了一个结构体变量st,这个是不能当作类型来使用的;
方式4是定义了一种结构体类型st。这种定义方式和第一种定义方式的区别就是在C语言中使用该结构体类型的时候,方式1需要使用关键字struct,而方式4是不需要的。比如:
方式1:struct st ex1; 方式4:st ex1.在C++中两种定义方式在使用上是没有什么区别的。
而C中的结构体和C++中的结构体还有,C++中的结构体和C++中的类的区别先不在这里总结。