访问头文件中的Struct

时间:2013-01-26 22:33:35

标签: c

我在头文件中定义了这个:

typedef struct Code {
   char *data;
   unsigned short size;
} Code;

这两个在我的.c文件中:

typedef struct MemBlock {
   char data[BLOCK_SIZE];
   int bytesUsed;
   struct MemBlock *next;
} MemBlock;

typedef struct CodeSet {
   Code *codes;
   MemBlock *memBlock;
   int size;
   int index;
} CodeSet;

我正在尝试使用以下内容设置代码中的数据:

mySet->codes[mySet->index]->size = 1;

但每次我尝试使用时都会出错 - >我把代码[]后。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

mySet->codes[mySet->index]不是指针, struct Code

使用mySet->codes[mySet->index].size

答案 1 :(得分:2)

您应该使用->来访问指向struct的成员。由于取消引用的数组不是指针,因此应使用.而不是->来访问它。

因此正确的语法是:mySet->codes[mySet->index].size = 1;,因为codes[]是一个数组而不是一个指针。