首页投稿(暂停使用,暂停投稿)每周500字

C语言的链表(篇章之一:基本知识与静态链表)

2016-06-08  本文已影响261人  遮天的龙

一、【定义】:

链表是内存当作零碎的内存的效组织,当内存足够但是内存中没我们需要的大小连续的内存块的时候,可以使用链表来利用内存的零碎的内存,代替连续内存块。分:静态链表和动态链表,主要还是研究动态链表。

二、【与数组的比较】:

具体列个表吧:

数组与链表的比较

三、【链表的结构】:

链表元素常称为链表结点,每一个结点包含两个域:数据域和指针域。

数据域保存数据,指针域连接该结点到下一个结点,结点数据是一种复合类型,每一个结点占用一块存储单元,当要在链表中增加一个结点时,可动态地为该结点分配一个存储单元;当要在链表中删除一个结点时,也可释放该结点的存储单元。

链表的结构

四、【静态链表】:

#include <stdio.h>
typedef struct node
{
  int data;
  struct node * next;
}Node;
int main(void)  
{
  Node a;
  Node b;  
  Node c;
  a.data = 1;
  b.data = 2;
  c.data = 3;
  a.next = &b;
  b.next = &c;
  c.next = NULL;
  Node * head = &a;  
  while(head != NULL)
  {
    printf("data = %d\n",head->data);
    head = head->next;
  }
return 0;
}



静态链表的用处不大,像上面的例子还不如直接输入。
(下章讲动态链表)
上一篇下一篇

猜你喜欢

热点阅读