Bootstrap

数据结构中结构体的typedef说明

数据结构中结构体的typedef说明

例一:

typedef的作用是起别名
typedef int status; 就是给int起了一个别名叫status

status x; 就等价于 int x;

例二:

typedef int * pointer
可以把typedef int * pointer看作 typedef (int * )pointer
也可以把typedef int * pointer看作typedef int (*pointer)

作者个人觉得看作typedef int (*pointer)比较好,因为数据结构里链表定义就是这种。

pointer p;  就等价于 int *p;

例三

先看个程序

#include<iostream>
using namespace std;
typedef int mm,*nn;//给int起两个别名mm 和*nn

int main(){
mm a=2; //相当于int a=2;
nn p;//相当于int *p
p=&a;//把a的地址赋值给p
cout<<*p<<endl;
return 0;
}

例四

接下来看数据结构中熟悉的单链表定义

typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

就是给struct LNode起了两个别名 一个叫LNode,另一个叫LinkList;

类比例三
struct LNode{
ElemType data;
struct LNode *next;
} 这一块就相当于例三的int ;

所以 LinkList L 就等价与LNode *L。

;