C - 在结构中访问struct

时间:2017-04-29 13:09:04

标签: c struct

我在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

2 个答案:

答案 0 :(得分:6)

您的第一个猜测几乎是正确的,但它应该是room[0].north->name,因为您没有为变量north声明数组。

一般情况下,您应该尝试一下,然后看看编译器和您的程序输出的内容尽可能多地自学。 ;)

答案 1 :(得分:4)

应该是 room [0] .north-> name,如果你在北方分配单个元素 但是如果你将一个数组(多个元素)分配到北方,你应该访问room [0] .north [n] .name,其中n = 0到(分配的元素数) - 1