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

malloc能分配多大内存

  • 内存
  • 2024-05-22 21:39:31
  • 6836

一、malloc/calloc到底一次性最多可以申请多少字节内存?这是指编译器和操作系统。malloc/calloc的原理是操作系统从内存堆栈中取出一块内存区域以供程序使用。最大字节数等于堆栈上当前剩余空间的大小。但在实际应用中,这取决于你当前堆栈中存储数据的位置。例如,堆大小为600M,但在堆上分布了20M内容。这些都是20M块。可能最多给出50M内存。另外,Windows开发平台会将系统DLL放在堆栈中,而原始堆栈被分成了一些部分。你收到的最大字节数肯定不会很大。


二、malloc动态内存分配问题请教高手(1)malloc()函数的原型是:voidmalloc(size_tsize),但是在ANSIC之前的C语言中没有void类型,所以malloc()的返回值char*被定义为另一个规则变量被赋值,必须强制进行类型转换,否则会出现错误;
(2)目前不需要这样写,因为类型*可以赋值给空指针。每个规则变量的类型;
(3)malloc()为括号中指定的大小参数(如200)分配内存空间。内存分配不足。p首先他们想要需要双倍大小的内存,现在只需要int大小;由于p是int*类型,并且等号右侧是double类型,因此不能为其赋值。