相关疑难解决方法(0)

为什么使用alloca()不被视为良好做法?

alloca()在堆栈上而不是在堆上分配内存,如同的情况一样malloc().所以,当我从例程返回时,内存被释放.所以,实际上这解决了我释放动态分配内存的问题.释放分配的内存malloc()是一个令人头痛的问题,如果不知何故错过会导致各种内存问题.

alloca()尽管有上述特征,为什么不鼓励使用?

c malloc stack allocation alloca

381
推荐指数
18
解决办法
12万
查看次数

数组名称是指针吗?

数组的名称是C中的指针吗?如果没有,数组的名称和指针变量之间有什么区别?

c arrays pointers

191
推荐指数
4
解决办法
6万
查看次数

C++如何在堆栈上动态分配内存?

有没有办法在堆栈而不是堆上分配内存?我找不到一本好书,这里有人有个主意吗?

c++ memory memory-management

35
推荐指数
2
解决办法
4万
查看次数

堆栈上的运行时内存分配

我想知道堆栈区域上的运行时内存分配以及它与堆区域上的运行时内存分配的不同之处.

我知道如何使用库函数分配内存.

#include<alloca.h> void *alloca(size_t size); //(for runtime memory on stack)

#include<stdlib.h> void *malloc(size_t size); //(for run time memory on heap)
Run Code Online (Sandbox Code Playgroud)

我也知道如果我们使用alloca函数,我们不需要显式释放该内存,因为它与堆栈相关联,它会自动释放.

我想知道哪些系统调用与alloc和malloc相关联,以及它们如何在两者中工作.

c

10
推荐指数
1
解决办法
8286
查看次数

标签 统计

c ×3

alloca ×1

allocation ×1

arrays ×1

c++ ×1

malloc ×1

memory ×1

memory-management ×1

pointers ×1

stack ×1