变量从变量值存在的时间(即生存期)角度分:静态存储方式和动态存储方式
静态:在编译时确定了固定的内存地址与内存大小,如:函数里的局部变量、全局变量等
动态:由程序控制,运行时主动性的向系统申请所需大小的内存段,并且每次分配到的内存地址不固定
在动态存储区存放一下数据:
1、函数形式参数
2、自动变量(未加static声明)
3、函数调用时的现场保护和
返回地址
malloc() 是最常用的函数之一,它允许从空闲内存池中分配内存
memset()在一段内存中填充某个给定的值(注意填充时是按照字节顺序填充的,而不是按照元素填充。)
calloc()与malloc()类似,主要的区别是存储在已分配的内存空间中的值默认为零。
realloc()函数为已经分配的内存空间重新分配并复制内容;新的空间大小为0时,等价于free函数功能。
在计算机科学中,线性结构被称为线性表
线性表是在数据元素的非空集合中
存在唯一的一个首元素;
存在唯一的一个尾元素;
除首元素外每个元素有且只有一个直接前驱;
除尾元素外每个元素有且只有一个直接后续;
按存储方式分为顺序存储与链式存储