今天在编译一个C语言程序时,对于结构体变量,报出错误
Error: request for member ‘xxx’ in something not a structure or union。
在网上查了一下,发现是->与.用错了,之前一直以为是一样的
在C语言中->与.是不一样的
struct List{
int elem[MAXSIZE+1];
int length;
}List,*pList;
这里我们定义了一个结构体
int main()
{
pList L = (pList)malloc(sizeof(struct List));
L->length=6;
struct List List1 ={{1,2,3},5};
printf("%d",List1.length);
printf("%d",L->length);
printf("%d",(*L).length);
printf("%d",L.length);//错误的方法
}
这里可以明白如果是结构体指针可以用**-> 或者 ***的方式读取
结构体变量 访问内容时只能用 .
这好像是基础…这都可以错
更多推荐
Error: request for member ‘xxx’ in something not a structure or union。
发布评论