相关练习代码:
#include <stdio.h>
typedef struct ListNode{
int val ;//数据域
struct ListNode *next; //指针域
}LNode,*LinkList;
//typedef含义:用于指定别名,
//第二行写了typedef这一行的别名才生效,后面才能使用
int main(){
LNode a,b,c,d,e; //或写为: ListNode a,b,c,d,e; 五个链表节点
a.val =1; //定义数据域
b.val =2;
c.val =3;
d.val =4;
e.val =5;
a.next=&b; // 定义指针域 通过next依次连接a,b,c,d,e
b.next=&c;
c.next=&d;
d.next=&e;
e.next=NULL;
struct ListNode *head = &a;//头指针;
//!疑问?为啥写成 LinkList *head = &a;会报错??
while(head)
{
printf("val= %d address= %p next =%p\n",head->val ,head,head->next );
head=head->next;
}
return 0;
}
对于typedef的使用:
typedef能够指定别名
eg:
typedef int ElemType
将int用ElemType代替