链表概述
链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,...
分类:
其他好文 时间:
2016-05-19 17:47:59
阅读次数:
281
百度百科:内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在..
分类:
编程语言 时间:
2016-04-27 19:00:53
阅读次数:
832
2 动态存储分配 在此之前,我们用于存储数据的变量和数组都必须在说明部分进行定义。C编译程序通过定义语句了解它们所需存储空间的大小,并预先为其分配适当的内存空间。这些空间一经分配,在变量或数组的生存期内是固定不变的。故称这种分配方式为“静态存储分配”。 C语言中还有一种称作“动态存储分配”的内存空间 ...
分类:
其他好文 时间:
2016-04-20 00:19:42
阅读次数:
245
1 编译预处理 C语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。C语言的预处理命令有:#define, #undef, #include, #if, #else, #elif, #endif, #ifdef, #ifndef, #line, #pragma, #error。 1.1 宏 ...
分类:
其他好文 时间:
2016-04-15 00:33:27
阅读次数:
150
首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。 在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语: 堆存储: heapstorage 堆存储分配: heapstorage allocation 堆存储管理: heap storage m ...
分类:
其他好文 时间:
2016-04-13 23:34:41
阅读次数:
224
指针是c语言的一个重要概念,指针类型是c语言最有特色的数据类型: *利用指针编写的程序可使调用函数共享变量或数据结构,实现双向数据通信; *可以实现内存空间的动态存储分配;可以提高程序的编译效率和执行速度。 (1)指针的基本概念及指针变量的定义 1.基本概念 计算机的内存是以字节为单位的连续的存储空 ...
分类:
其他好文 时间:
2016-04-11 20:44:31
阅读次数:
240
操作系统又是一门计算机专业必学的专业课之中的一个。相同对于非常多考研统考的同学来说也是必考的课程。本篇帖子是我大学时期整理的操作系统的基本知识点。足以应付大学时代的期末考试。 1. 存储管理研究课题的四个方面: (1) 存储分配问题:重点是研究存储共享和各种分配算法 (2) 地址再定位问题:研究地址 ...
分类:
其他好文 时间:
2016-04-10 20:55:20
阅读次数:
223
vector
在STL 的头文件中定义了vector(向量容器模板类),vector容器以连续数组的方式存储元素序列,可以将vector 看作是以顺序结构实现的线性表。当我们在程序中需要使用动态数组时,vector 将会是理想的选择,vector 可以在使用过程中动态地增长存储空间。
vector 模板类需要两个模板参数,第一个参数是存储元素的数据类型,第二个参数是存储分配器的类型,其中第二...
分类:
编程语言 时间:
2016-04-04 15:04:10
阅读次数:
371
链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head
分类:
其他好文 时间:
2016-02-29 21:46:18
阅读次数:
258
二者都属于一种数据结构 从逻辑结构来看 1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。 2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据
分类:
编程语言 时间:
2016-02-22 20:50:19
阅读次数:
231