基本结构声明
struct node{
int data; //数据域
struct node *next;//指针域
};
#include<stdio.h>
#include<stdlib.h>
struct node{//链表结点
int data;//数据域
struct node *next;//指针域
};
typedef struct node Node;
int main(void){
Node *head,*p,*q;//a
p=(Node*)malloc(sizeof(Node));//第一个结点
p->data=20;
head=p;//头指针指向第一个结点
for(int i=1;i<=3;i++){
q=(Node*)malloc(sizeof(Node));//q指向新申请的结点
q->data=(i+2)*10;//新结点数据域赋值
p->next=q;//新节点链接到表尾
p=q;//p指向尾结点
}
p->next=NULL;//最后的尾结点的指针域要为空
printf("%#x\n",head);
for(Node *p=head;p!=NULL;p=p->next){//遍历链表,然后就可以输出每个结点的地址
printf("%#x\t",p);
}
printf("\n");
for(Node *p=head;p!=NULL;p=p->next){
printf("%d %#x ",p->data,p->next);
}
}
结果