一、链表特点
链表是由许多相同数据类型的数据项按特定排列顺序排列而成的线性表。特性是其各个数据项在内存中的排列是不连续且随机存放的,需要”动态分配内存“时,最适合链表的结构设计,可以让内存运用更具有弹性。
在C语言中,动态分配内存主要使用malloc()与free()函数,定义于头文件stdlib.h文件中。举例如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *str1="Hello World!";
char* str2=(char*)malloc(sizeof(char)*(strlen(str1)));
/* 动态分配与str1相同大小的内存空间 */
strcpy(str2,str1);/* 将str1字符串复制到str2字符串 */
printf("str1=%p str1=%s\n",str1,str1);
printf("-------------------------------------\n");
printf("str2=%p str2=%s\n",str2,str2);
printf("-------------------------------------\n");
free(str2);/* 释放str2内存空间 */
system("pause");
return 0;
}
C++ 中的动态分配变量,使用new等关键字获取内存地址,用delete释放内存。代码片段举例如下:
int* m=new int;
*m=50;
cout<<