当前位置:首页 > 内存 > 正文

数组动态内存分配

  • 内存
  • 2024-05-31 16:09:56
  • 6128

一、动态分配内存描述一下内存分配方法及其区别?
1)从静态存储区分配。内存是在程序编译时分配的,并且该内存在程序的整个运行时都存在。例如,全局变量和静态变量。
2)在堆栈上创建。在函数执行过程中,可以在堆栈上创建函数内局部变量的存储单元,这些存储单元在函数终止时自动释放。堆栈内存分配操作内置于处理器的指令集中。
3)堆分配,也称为动态内存分配。程序运行时,可以使用malloc或new申请任意数量的内存,程序员负责释放或擦除以释放内存。动态内存的生存期是由程序员定义的,使用非常灵活,但也存在最多的问题。


二、如何动态分配内存,二维数组有m个区间,每个区间的点数可能是不确定的。
那么首先要确认m以及每个区间的点数。当然可以自己决定个数
伪代码:
inti,m;
PointCloud**p_allpoint=newPointCloud*[m];
然后确定每个点的点数Interval,假设存储在数组中inta[m]={};//为什么会有范围m
确定各自需要的空格:
for(i=0;ip_allpoint[i]=newPointCloud[a[i]];
就是这样。