我正在学习嵌套结构并遇到以下代码:
// Stack.h
#ifndef STACK_H
#define STACK_H
struct Stack{
struct Link{
void* data;
Link* next;
void initialize(void* dat, Link* nxt);
}* head;
void initialize();
void push(void* dat);
void* peek();
void* pop();
void cleanup();
};
#endif // STACK_H
Link 结构在 Stack 的范围内,要访问 Link,我必须使用 Stack::Link。
我对在 } 之后声明的用于关闭 Link 结构的指针头有点困惑。
这是否意味着在 Stack 范围内有一个名为 head 的 Link 指针变量?
将头指针定义为:
};
Link* head;
对比
}* head; //as per the code above?