我正在尝试使用指针将存储在std中的数据存入数组中。主要声明d为int *d;
并使用x = getdata(&d);
调用函数。当我使用gdb逐步执行时,它在for循环的第一次迭代时死亡,当它尝试执行*d[i]=val;时。
int getdata(int **d)
{
int count,val,i,j=0;
scanf("%d", &count);
d = malloc(sizeof *d * count);
for( i = 0; i < count-1; i++) {
scanf("%d",val);
*d[i]=val;
}
for ( i = 0; i < count; i++)
printf("Number %d\n",*d[i]);
return count;
}
*d = malloc(sizeof **d * count);
,以及(*d)[i]
。 - Kerrek SB(*d)[i]
? - wildplasserscanf("%d", &val);
顺便说一句,一个严谨的编译器应该会对此发出警告。 - wildplasser