小编Aza*_*Ali的帖子

如何在c中找到内存分配的最大限制

我想确定我可以在计算机中分配的最大内存限制是多少.这是我为此任务编写的代码:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int j;
    int *primes;
    int i ;

    int limit = 2147483647;

    primes = malloc(sizeof(int) * limit);
    for (i = 0; i < limit; i++)
    {
        primes[i] = 1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何在没有命中和试用的情况下确定可以分配多少内存?我在这个例子中分配了最大的int大小.但程序崩溃了.在这个例子中真正分配了多少内存?

c malloc memory-management dynamic-memory-allocation

5
推荐指数
1
解决办法
1929
查看次数