我们使用 malloc 函数成功为 x_space 分配了内存。但是,在为它们分配值时失败了。感谢您的关注。
以下来自 Liblinear(一个开源的 svm 工具)的 train.c。
#include<stdio.h>
#include<stdlib.h>
struct feature_node
{
int index;
double value;
};
void main()
{
struct feature_node * x_space;
long j;
x_space =(struct feature_node *)malloc(306396532*sizeof(struct feature_node));
if(x_space)
{
for(j=0;j<306396532;j++)
x_space[j].index=0; /* fail when j=37961212, ACCESS VIOLATION */
}
else
printf("malloc failed.\n");
puts("End");
getchar();
}