C问题
你好,
我正在将一个双重指针传递给一个函数,以分配一个双重数组,并在函数内部使用10.10初始化数组;
我按照以下方式操作,但是当我在主函数中访问数组时出现分段错误;
void function(double **array, int size){
*array = (double*) malloc(size * sizeof(double));
int i;
for(i=0;i<size;i++){
*array[i] = 10.10;
}
}
int main(){
double *array = NULL;
function(&array,20);
printf("array[0] = %lg\n",array[0]);// here is where I get segmentation fault
}
有需要帮助的地方吗?
double*
a) 是不必要的,b) 是错误的,因为你实际上拥有的是double**
。 - Andreas Grapentin