我正在用 C 做一个项目。我对 C 很陌生。在项目中,我有一个这样的结构:
struct room_t{
char* name;
struct room_t* north;
struct room_t* east;
struct room_t* south;
struct room_t* west;
}
声明为:struct room_t room[3]
如果我想访问北方的名字,我这样做:room[0].north[0]->name
我说得对吗?或者应该是 room[0].north[0].name
最佳答案
您的第一个猜测几乎是正确的,但它应该是 room[0].north->name
,因为您没有为变量 north
声明一个数组。
一般来说,你应该尝试一下,然后看看编译器和你的程序输出什么,尽可能多地自己学习。 ;)
关于C - 访问结构中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696077/