链表的基本用法
链表的基本用法
努力喵 发表于2年前
链表的基本用法
  • 发表于 2年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

// linkdemo.c -- 链表的基本用法
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct data{
  char name[20];
  struct data *next;
}; 
// 为结构和指向该结构的指针定义
//typedef struct data PERSON;
//typedef PERSON *LINK;

int main(void){
  //头指针、新指针和当前元素指针
  struct data *head = NULL;
  struct data *new1 = NULL;
  struct data *current = NULL; 
  
  //添加第一个链表元素 
  new1 = (struct data *)malloc(sizeof(struct data)); // 创建一个新节点 
  new1->next = head;  // 让表头赋值给下一个节点,这时表头和next储存的指针相同 
  head = new1;        
  strcpy(new1->name, "Abigail");
  
  //在链表末尾添加一个元素
  current = head;
  while(current->next != NULL){
    current = current->next;
  }
  new1 = (struct data *)malloc(sizeof(struct data));
  current->next = new1;
  new1->next = NULL;
  strcpy(new1->name, "Carolyn");
  
  // 在链表的第二个位置添加一个新元素
  new1 = (struct data *)malloc(sizeof(struct data));
  new1->next = head->next;
  head->next = new1;
  strcpy(new1->name, "Beatrice");
  
  // 按顺序打印所有数据
  current = head;
  while(current != NULL){
    printf("\n%s", current->name);
    current = current->next;
  }
  printf("\n");
  
  return 0;
}


共有 人打赏支持
粉丝 6
博文 105
码字总数 34117
×
努力喵
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: