以下结果正常吗?
#include<stdio.h>
#include<stdlib.h>
int main(){
void *a;
int cnt = 0;
while ((a=malloc(1024*1024*1024)))
{
cnt++;
}
printf("分配了%dGB的空间.\n",cnt);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:这个其实并没有实际分配,你需要加上
while ((a=malloc(1024*1024*1024)))
{
a[1024*1024*1024-1]=1;
cnt++;
}
实际写入一个值