typedef struct node{
int data;
struct node *next;
}Lnode, *LinkList;
以及何时
LinkList p = new Lnode;
LNode *p = new Lnode;
有一些区别吗?
答案 0 :(得分:0)
它只是在这一行重新声明指针p
:
Lnode *p = new Lnode;
以前在下面的行中声明
LinkList p = new Lnode;
此处写Lnode*
相当于写node*
而写LinkList
也会评价为node*
,没有区别!
与
typedef int *iptr; // type name: iptr
// new type: int*
iptr ptr; // same as: int *ptr
答案 1 :(得分:0)
我们使用“ LNode”强调“节点”,而使用“ LinkList”强调“列表”。这里是一个示例
typedef struct { int data; LNode *next; }LNode,*LinkList;
bool ListInsert (LinkList &L,int i,int e){ if (i<1) return false; LNode *p; int j = 0; p = L; while (p!=NULL && j<i-2){ p=p->next; j++; } if(p=NULL) return false; LNode * s = (LNode *)malloc(sizeofLNode)); s->next = p->next; p->next = s; return true; }
根据代码,我们尝试创建一个新节点,以使用“ LNode * p”插入原始列表,同时通过在“ ListInsert()”函数中传递参数“ LinkList&L”来访问列表