线性表
一、线性表的结构体定义
#define MaxSize 100 typedef struct{ int data[maxSize]; int length; }Sqlist;//顺序表结构体定义
typedef struct LNode{ int data; struct LNode *next;//指向后继结点的指针 }LNode;//单链表结点定义 typedef struct DLNode{ int data; struct DLNode *proir;//前驱结点 struct DLNode *next;//后继结点 }DLDode;//双链表结点定义
PS:结点是内存中由用户分配的存储空间,只有一个地址来表达它的存在,没有显示的名称,因此我们会在分配链表结点空间的时候,同时定义一个指针,来存储这片空间的地址。(这个地址通常的讲叫指针指向结点,并且常用这个指针的名称来作为结点的名称)
例如:
LNode *A = (LNode*)malloc(sizeof(LNode));
即:
Lnode x; // 声明一个Lnode类型的变量x Lnode *y; // 声明一个指向Lnode类型变量的指针变量y y=&x; // 正确。将y指向x。 printf( "sizeof Lnode is %d", sizeof(Lnode) ); // 显示Lnode类型变量的大小 printf( "sizeof Lnode* is %d", sizeof(Lnode*) ); // 显示Lnode*类型变量的大小,在VC中无论指向什么类型的指针都应该显示4(4字节,32位)。
- LNode 一种类型,LNode 一个指针。
- LNode:LNode型
- *A:名字为A的指针(定义了结点和指针)