结构体定义无名称成员的方法

 

 一、结构体定义方法

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;


你可能感兴趣的:(结构体定义无名称成员的方法)