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

一、【定义】:

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

二、【与数组的比较】:

具体列个表吧:

数组与链表的比较

三、【链表的结构】:

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

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

链表的结构

四、【静态链表】:

#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;
}



静态链表的用处不大,像上面的例子还不如直接输入。
(下章讲动态链表)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大学的时候不好好学习,老师在讲台上讲课,自己在以为老师看不到的座位看小说,现在用到了老师讲的知识,只能自己看书查资...
    和珏猫阅读 1,572评论 1 3
  • 本文内容取自于小甲鱼的数据结构与算法。http://www.jianshu.com/p/230e6fde9c75 ...
    阿阿阿阿毛阅读 3,139评论 0 7
  • 链表 概念 说到链表,coder们都不会陌生,在日常开发中或多或少都会用到它。它是链式存储的线性表,简称链表。链表...
    扈扈哈嘿阅读 2,157评论 0 5
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,951评论 0 11
  • 这几天北京的房价飙升,许多人又陷入了吐槽和绝望的世界里,对于北京是不是让你感到难过的文章被传的沸沸扬扬,似乎说出了...
    以动制静阅读 2,579评论 0 4

友情链接更多精彩内容