Как я могу изменить первый столбец моего динамического 2d-массива(tjang1) на все?
I'm having trouble with dynamic arrays.
I want to change the first column of my array to all ones.I'm expecting an array that looks like:[1,0,0;1,0,0;1,0,0]. For a static array I know you have to do something like this: double tjang1[value][value] for (a=0; a<value; a++){ tjang1[a][0]=1;
But with a dynamic array, this doesn't work, I'm assuming some memory address is getting messed up because there are ones at random indexes in the array instead of just the first column.
Что я уже пробовал:
void insertforsecond(FILE*fpointer,double ** tjang1){ int a; for (a=0; a<diffvalue; a++) { tjang1[a][0]=1; } } int main(int argc, char * argv[]){ int i; double **tjang1=NULL; tjang1=malloc(diffvalue*sizeof(double*)); for(i = 0; i < diffvalue; i++) { tjang1[i] = malloc( diffvaluecol * sizeof(int)); } insertforsecond(dpointer,tjang1); }
Richard MacCutchan
Пара вопросов: diffvalue, diffvaluecol и dpointer нигде не определены. Вы создаете массив указателей, но затем выделяете массив целых чисел для каждого из них.