总的来说,问题是struct,typedef在编译器中声明的过程是怎样的?
在第一个与第二个结构体声明中为什么能够声明指向自身类型的指针?
在第三个结构体声明中为什么不能用新类型名来声明呢? 这是在说,编译器的步骤是:struct Node1(知道有这个类型了)----Node2* next(再开始分析这句话)----Node2(最后才在知道有这个新类型名) 吗?
#include<iostream>
using namespace std;
struct Student
{
int date;
struct Studen* next;
};
typedef struct Node1
{
int date;
Node1* next;
}randow;
typedef struct
{
int date;
Node2* next;
}Node2;
void main()
{
}
修正一下问题
1总的来说,问题是struct,typedef在编译器中声明的过程是怎样的?
2在第一个与第二个结构体声明中为什么能够声明指向自身类型的指针?
3在第三个结构体声明中为什么不能用新类型名来声明呢? 这是在说,编译器的步骤是:struct(知道有这个类型,但它没有名字)----Node2* next(开始分析这句话)----Node2(最后才知道有这个新类型名) ,所以不能用新类型名来声明 结构体中的成员 ?
侃侃尔雅