你好:
让我来解决您的困惑
(1)何谓声明?何谓定义?
声明即是告诉编译器我可能要在后面的代码中会用到这个变量后者类型,此时编译器是不为变量做内存分配的;定义即是用到声明的变量或类型并为它做内存的分配
(2)编译器从文件起始位置开始编译,它如果没有发现你做结构体的类型声明,那么当它在main()函数中碰到用这种结构体定义的变量时,它就会报错,因为它不认识这种类型
(3)什么方式:注:楼上的错了
struct s{
};
main()
{
struct s x;
}
(3)总结:所以如果你要用你定义的结构体来定义变量,则你一点要把结构体的声明放在main()之前
祝你好运!