引言:声明是不产生代码的东西
定义是产生代码的东西,如:
int i;-->定义
extern int i;-->声明;
只有声明可以放在头文件中,否则会造成一个项目中有多个编译单元里有重名的实体;
在一个编译单元里,同名的结构不能被重复声明,如果头文件中有结构声明,则很难保证这个头文件不会在一个编译单元里被#include多次,故我们需要“标准头文件结构”。
#ifndef __LIST_HEAD__
#define __LIST_HEAD__
#include "node.h"
typedf struct _list {
Node* head;
Node* tail;
} List;
#endif