链表:
1、链表的概念:
a)如果结构体成员变量中有指向同类节点的指针变量,那么就能够将一个个的结构体串联起来,,这样的一系列节点形象上像一条链子,所以称之为链表
b)每个节点都是由两部分组成:数据区+地址区(指向自身结构体的指针变量)
c)其中指向自身类型节点的指针,我们称之为地址域
d)最后一个节点没有下一个节点,地址域赋值为NULL
2、链表特征:
a)(单)链表:必须链表头pHeader
b)通过链表头,可以顺次向下访问所有节点
c)如果是空链表,则表头为0,pHeader =NULL
d)链表尾节点:类似于NULl结尾的字符串,最后一个节点的指针pNext==0
e)可以在任意位置插入和删除节点\
附录:
//内存空间:栈内存,全局区(静态区 static),堆(动态内存),字符串常量区
//a)堆空间申请后填充的内容是(cd),栈内存申请后的空间填充(cc),全局区申请后填充(00);
//b) 堆内存空间申请之后,如果不再使用时尽量及时释放空间,调用的函数是(malloc,free)
//c)程序员的素质要求:在进程退出之前必须手动释放干净,一个字节都不能留下
//d)堆空间的生命期小于全局区,一般情况下堆内存空间都可以跨函数使用,生命去的长短手动决定,一般大于栈区
//e)就是指程序员对堆区域内存的使用,只管申请却不及时清理,包括离开main函数之后没清理,更准确的泄露的概念:是指具有循环性质的对堆内存空间的浪费使用,例如:点击按钮一下就申请但是没有释放