(编译器为dev)
#include <stdio.h>
int main()
{
struct Test
{
int x;
int y;
struct Test test;
};
return 0;
}
则报错,是不是因为没有结束条件
若在test前加上*,则运行,运行结果为无内容
若加上*,是不是表示test是指向结构体Test的指针,是不是就相当于定义一个指针(如int *a)
(编译器为dev)
#include <stdio.h>
int main()
{
struct Test
{
int x;
int y;
struct Test test;
};
return 0;
}
则报错,是不是因为没有结束条件
若在test前加上*,则运行,运行结果为无内容
若加上*,是不是表示test是指向结构体Test的指针,是不是就相当于定义一个指针(如int *a)
你在数据类型的定义中定义由这个数据类型定义的变量,系统无限申请内存,所以就报错了。
在test前加上*test,表明定义了一个结构体类型的指针变量,系统只是分配x,y,和test指针的内存空间给你就行了。
就算你正确定义好了结构体类型,你又没有定义变量然后输出变量的成员值,怎么会有输出呢