我们常常看到类似下面的代码:
typedef struct Struct_Node{
int num;
struct Node* next;
}Node,*Next_Node;
这段代码含有很多关于“typedef”和“struct”关键字的用法,下面将详细阐述。
一)“typedef”的用法:
1)“typedef”可以为现有的类型创建同义字:
typedef int size;
size array[4];
2)“typedef” 也可以掩饰复合类型:
char line[81];
char text[81];
typedef char Line[81];
Line line,text;
同样可以如下用于隐藏指针语法:
typedef char* Pstr;
3)“typedef”与结构体结合使用:
typedef struct Struct_Node{
int num;
struct Node* next;
}Node,*Next_Node;
“Struct_Node”是一个标签,他与关键字“struct”一起构成了这个数据结构,不论“typedef”是否存在都可以这样使用:
struct Struct_Node node;
struct Struct_Node* next_node;
他等价于
Node node;
Node* next_node;
//Next_Node next_node;