目前,我的代码和对指针的理解存在问题。这是代码
struct command
{
int type;
int *input;
int *output;
union{
struct command *command[2];
char **word;
}u;
};
据我了解,实例结构命令 *command[2] 是一个指向命令数组的指针数组。所以我用这些分配数组:
cur_command->u.command[0] = malloc(sizeof(struct command[2]));
所以它给了我一个二维命令数组。但是我的老师告诉我 struct command *command[2] 是一个指向数组命令大小为 2 的指针。所以cur_command->u.command[0]
给出第一个命令元素而不是指向命令数组大小为 2 的指针。我的问题是,我怎样才能分配内存来发展这种行为。谢谢