struct{
int x;
int y;
}。我们无法再定义一个与test1同类型的结构体,因为我们不知道test1类型的名字,唯一的方法是重新写一遍结构体的形式。
(2) struct test{int x;int y;}test1;
与第一种情况相比,我们在这里不仅定义了一个结构体,而且我们还知道test1所属类型的名字test。与第一种情况唯一的不同,是我们知道结构体类型的名字为test。我们可以通过test1 t和struct test t这样的语句定义新的结构体。我们也可以在语句中使用test1.x和test1.y。
(3) typedef struct test
{int x;
int y;
}text1,text2;
与3相比,我们没有定义结构体,而只是把text1和text2声明为test类型结构体的别名。我们可以通过text1 t,text2 t和struct test t定义新的结构体。
(1) struct{ int x; int y;}test1;这里注意只是定义了一个结构体,这个结构体的名字为test1,我们可以使用test1.x,test2.y语句。test1的类型呢,未知,我们只知道test1类型的形式为struct{ int x; int y;}。我们无法再定义一个与test1同类型的结构体,因为我们不知道test1类型的名字,唯一的方法是重新写