C - 访问结构中的结构

标签 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

最佳答案

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

一般来说,你应该尝试一下,然后看看编译器和你的程序输出什么,尽可能多地自己学习。 ;)

关于C - 访问结构中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696077/

相关文章:

C++结构,新类型之间的区别;和新类型()

c - 在 C 中访问和输入元素到动态结构数组中

c - 使用 Xlib 获取鼠标点击坐标

c - 构建linux内核模块

C - fscanf 进入动态数组崩溃

.net - 如何将非托管结构转换为托管结构并返回?

c - 通过管道传递 c 中的整个结构

c++通过函数传递自定义结构

c# - C# 中的结构与类 - 请解释行为

c - 在 C 语言中,验证参数和处理错误的一些最常用选项是什么?