相关解释已经在代码里了,不再阐述
#include<stdio.h>
#include <stdlib.h>
//步骤:构建链表结构体->push元素或者初始化链表->pop元素
/*步骤一*/
typedef struct Link{
struct Link* next;
int data;
}link;
/*步骤二*/
link* push(){
link *p= (link*)malloc(sizeof(link));
p->data=1;
p->next=NULL;
link* temp=p;
for(int i=2;i<=4;i++){
link *a=(link *)malloc(sizeof(link));
a->data=i;
a->next=NULL;
a->next=temp;
p=a;
temp=p;//这一步不能少,它的作用相当于中介。p永远是头指针,而temp可以充当p想要的指针位置
printf("打印值看看:%d\n",p->data);
}
return p;
}
void pop(link *p){
link* temp=p;
// do{
// printf("开始pop了:%d\n",temp->data);
// temp=temp->next;
// }while(temp!=NULL);
while (temp) {
printf("开始pop了!!:%d\n",temp->data);
temp=temp->next;
}
}
int main(){
link* p=push();
pop(p);
return 0;
}