【发布时间】:2014-02-16 03:36:31
【问题描述】:
我认为一般的经验法则是 -> 运算符用于访问结构指针的成员,而 .运算符用于访问实际结构的成员。在我的代码中,我以为我创建了一个结构指针,但最终我仍然不得不使用 .操作员。谁能解释一下原因?
typedef struct Robot
{
char **brain;
int size;
} Robot;
int main(void)
{
char buffer[100];
Robot *dalek = malloc(sizeof(Robot)*2);
for(i = 0; i < 2; i++)
dalek[i].brain = malloc(sizeof(char*) * 3);
for(i = 0; i < 3; i++)
{
scanf("%s", buffer);
dalek[0].brain[i] = malloc(sizeof(char) * strlen(buffer));
strcpy(dalek[0].brain[i], buffer);
}
}
【问题讨论】:
标签: pointers dot-operator