我想确定我可以在计算机中分配的最大内存限制是多少.这是我为此任务编写的代码:
#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大小.但程序崩溃了.在这个例子中真正分配了多少内存?