何时在指针上使用数组,反之亦然

我的理解是,除了其他方面,可以使用指针允许您在需要时动态分配内存(并知道您需要多少内存),而不是预先使用数组静态分配内存.

我很难确定何时更好地节省动态分配的计算时间并选择更大的内存占用与更大的内存占用并使用一些计算时间来仅分配我需要的内存.

有人可以对这个问题有所了解吗?是否有任何可能有用的一般规则?

最佳答案 在下列情况下应使用动态分配的内存

>你不知道在编译时你需要多少内存
>运行时内存量会有所不同
>你需要大量的内存

在以下情况下应使用静态分配的内存:

>你知道编译时间的大小
>所需的内存量很低

使用动态分配的内存需要使用系统调用,这是当您编程向操作系统询问某些内容时.您有速度惩罚,因为该过程可能会松开给另一个进程的“处理时间”.操作系统需要做很多事情来完成调用.执行系统调用以询问内存是一个比写入存储在进程堆栈中的数组更重的过程.

点赞