有如下结构体类型的声明,错误的是

来源:百度知道 编辑:UC知道 时间:2024/05/03 03:12:35
(!)struct mm{int x,y;strcut mm bl;}
(2)struct mm{int x,y;struct mm *p;}
请详细解释错误原因,谢谢!

(1)有错,书上不是说了吗?第一种定义是错的,原因是本结构体中有本结构体中的元素,这是不正确的,因为,该结构体还没有成员定义就使用其元素,当然是错的了,第十个是结构体中定义一个本结构体指针,这是可以的,它表示指向一个类似本结构体的结构体。

(!)struct mm{int x,y;strcut mm bl;}
(2)struct mm{int x,y;struct mm *p;}
中int x,y不能声明在一起,要分开,如int x;int y.

回答者:beattwo在乱说

struct mm
{
int x,y;
struct mm bl;
};
是错误的。

struct mm
{
int x,y;
struct mm *p;
};
是正确的