对于结构体定义可以直接定义为struct abc{........};或者 struct abc{........}ABC;或者 struct {........}ABC;可 可以吗?而不用 typedef struct abc{........};或者 typedef struct abc{........}Abc;这种形式?(是针对考研数据结构。)但是这两种定义形式都是对的是吧?最好能详细讲一下define,struct, typedef,以及结构体指针,谢谢了!
详细一点 ,举个具体点的例子吧?
追答方法一:传统方法
struct Student{
char *name;
int num;
}; //定义一个结构体
int main(void)
{
struct Student stu1 //定义一个结构体变量
stu1.name="Jack";
stu1.num=12;
return 0;
}
方法二:
struct Student{
char *name;
int num;
}stu2; //定义一个结构体,定义一个结构体变量stu2
int main(void)
{
stu2.name="Ken";
stu2.num=13;
return 0;
}
方法三:
typedef struct Student{
char *name;
int num;
}stu; //用stu代替struct Student 来进行结构体变量的类型声明。
int main(void)
{
stu stu3
stu3.name="Lucy";
stu3.num=14;
return 0;
}
struct:一种构造数据类型