[英]can't access a member variable in struct array in struct
我正在制作一個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
訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.