结构体的定义方式
在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++中的类的区别先不在这里总结。