引用类型它被定义
问题描述:
之前,我正在寻找一个好办法做这样的事情:引用类型它被定义
typedef struct user
{
unsigned long id;
//userList defined below
userList friends;
}
typedef struct
{
//userList contains users
user * list;
int count;
} userList;
是否有合法的方式做到这一点或类似的东西?
答
一个结构的定义可以通过只定义或typedef'ing的结构标签是不完整的结构或联合类型。这可以用来声明指针。
但是,要声明一个实际的对象,它不能是一个不完整的类型。
所以,为了使您的声明,使前向引用是指针和向后引用是对象。
答
在C语言定义之前,没有办法引用一个具体的(非指针)类型。你必须使用一个指针+一个类型声明或者在它被使用之前实际定义类型。
答
不喜欢它:
typedef struct user user;
typedef struct
{
//userList contains users
user * list;
int count;
} userList;
struct user
{
unsigned long id;
//userList defined above
userList friends;
};
bleh我太慢了 – Spudd86 2010-10-04 16:35:18
不错,但我喜欢DigitalRoss对它为什么起作用的解释 – 2010-10-07 17:18:07