#include <stdio.h>
#include <stdlib.h>
typedef int element;
struct cell {
element e;
struct cell *p;
};
typedef struct cell* CELL;
int main() {
CELL* p;
p = (CELL*) malloc (sizeof(struct cell));
p->e = 8; /* This ain't working */
*p.e = 8; /* This doesn't help anything either */
return 0;
}
我刚刚开始使用 malloc
,我只是指向一个新创建的 CELL
,它是一个 struct
。现在我试图用一些值填充它,但我遇到了一个不友好的“成员 e 请求”,它不是结构或 union 。我确实做了一个指向 struct
的指针包含一个名为 e 的成员,或者至少我认为我是这样做的。为什么会失败?
最佳答案
我认为这很好地说明了良好 C 风格的规则 - 不要创建隐藏某些东西是指针这一事实的 typedef。
关于c - 为什么我不能通过它的指针访问这个结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2184626/