簡體   English   中英

無法訪問struct的struct數組中的成員變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM