gpt4 book ai didi

无法访问结构体中的结构体数组中的成员变量

转载 作者:行者123 更新时间:2023-11-30 16:01:03 25 4
gpt4 key购买 nike

我正在编写一个C程序,它需要访问结构体中的结构体数组。

定义如下所示

struct def_world
{
bool lock;
char tilemap;
def_tile tile[100][100];
struct def_tile
{
bool lock;
char kind;
def_obj * obj;
void * evt;
};
struct def_obj
{
bool lock;
int indexOfTable;
bool frozen;
char x,y;
char kind;
char face;
char * msg;
char * ip;
};

在主函数中,我想访问世界的tile[3][3]的obj的脸。

我将世界初始化为

def_world world={0,};

但是以下几行会出错

world.tile[3][3].obj=newobj();//newobj() returns def_obj type

world.tile[3][3].obj->face;

知道如何访问 obj 的脸部吗?

最佳答案

尝试这些行:

world.tile[3][3]->obj=newobj();//newobj() returns def_obj type

world.tile[3][3]->obj.face;

说明:
world.tile[3][3] 是一个 def_tile。它的 obj 字段不是 def_obj,而是 def_obj*。因此,要获取它指向的 def_obj,您应该使用 ->obj
def_obj 内部,face 只是一个字符,因此您可以使用 .face 访问它。

关于无法访问结构体中的结构体数组中的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com