C语言结构体成员定义求助大神!!

int main()
{
struct Line
{
char start;
char end;
char L;
char R;
};
struct point
{
Line l1;
Line l2;
Line l3;
int k;
};
我想把Line类型中的成员定义成point类型,怎么实现呢???

4个回答

C语言要求先申明后使用,所以你可以加上一行
struct point;

在Line结构体前面声明point,再在Line结构体中,声明point*类型的,不能用point类型,否则会出错。

前置声明point结构体,再在Line中使用。当编译到Line结构体时编译器没有足够的信息知道piont结构体的大小,所以只能用point的指针类型。

使用前置声明,并且在Line里使用point的指针类型

 #include<stdio.h>

struct point;
struct Line
{
    char start;
    char end;
    char L;
    char R;
    point *p1;
};
struct point
{
    Line l1;
    Line l2;
    Line l3;
    int k;
};

void main()
{

}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问