0

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

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;

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

4

2 回答 2

2

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

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

于 2013-01-26T22:39:04.023 回答
2

mySet->codes[mySet->index]不是指针,它一个struct Code.

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

于 2013-01-26T22:35:28.203 回答