typedef 结构定义末尾的变量声明
Variable declaration at the end of typedef structure definition
我们知道结构对象可以像这样在结构定义的末尾声明:
struct vertex
{
float x,y,z;
}v1;
这样的对象声明是不是像v1
使用 typedef 结构时可能吗?
typedef struct vertex
{
float x,y,z;
} vertex;
现在是否强制单独声明对象
vertex v1;
在这种情况下,它们不能附加在结构定义的末尾吗?
如果您使用'storage class' typedef
,那么在结构之后定义的名称就是typedef 名称——结构类型的别名。所以,vertex
是一个类型名称。定义类型名称时,不能同时定义任何变量。
不,不可能。
typedef
用于为另一种类型创建别名/同义词。它不能用于声明变量。
typedef struct ver
{
float x,y,z;
} vertex;
这里,vertex
与struct ver
相同(为了更好理解,我稍微改了名字)。
创建类型(别名)后,您可以使用它来创建使用另一个标识符的变量,例如
vertex v;
struct ver v1;
我们知道结构对象可以像这样在结构定义的末尾声明:
struct vertex
{
float x,y,z;
}v1;
这样的对象声明是不是像v1
使用 typedef 结构时可能吗?
typedef struct vertex
{
float x,y,z;
} vertex;
现在是否强制单独声明对象
vertex v1;
在这种情况下,它们不能附加在结构定义的末尾吗?
如果您使用'storage class' typedef
,那么在结构之后定义的名称就是typedef 名称——结构类型的别名。所以,vertex
是一个类型名称。定义类型名称时,不能同时定义任何变量。
不,不可能。
typedef
用于为另一种类型创建别名/同义词。它不能用于声明变量。
typedef struct ver
{
float x,y,z;
} vertex;
这里,vertex
与struct ver
相同(为了更好理解,我稍微改了名字)。
创建类型(别名)后,您可以使用它来创建使用另一个标识符的变量,例如
vertex v;
struct ver v1;