一、结构体定义方法
1、
struct myStruct
{
int ;
};
编译出错:
error C2208: “int”: 没有使用此类型进行定义的成员
2、但如果是在结构体中放一个结构体的声明,那么是编译通过的
struct myStruct
{
int a;
};
struct myStruct1
{
struct myStruct;
};
它等价于:
struct myStruct
{
int a;
};
struct myStruct1
{
struct myStruct a;
};
只不过前者是不同通过名字访问的,那么它的访问方法是什么呢?
二、获得无名成员的方法
前提是:要把无名成员放在结构体中的第一个
struct myStruct1 myStructInstance;
struct myStruct* data = (struct myStruct1*)myStructInstance;