Well the title pretty much explains itself...anyone know how to do this?
Well the title pretty much explains itself...anyone know how to do this?
Yes. Pointer arithmetic and/or cast
so if i had an array for example power[8][7], i would cast it how?
power1D[56] == power2D[8][7]
Of course you can't assign arrays-as-a-whole. But you could do int *power1D=power2D[8][7], and pretend that power1D has 56 elements.
so it must have that pointer
You could use a real array if you want, instead of a pointer. But you'd have to use a big ol' for-loop to get all the numbers in the new array.
ok ill go with the pointer
As long as you access the 2D array elements in their proper storage order you can use either a pointer with an offset or a subscripted array.
The thing to remember is to walk along the 2D array correctly knowing that the rightmost subscript varies fastest.
so does this work NROWS being 8 and NCOLS being 7
Code:int i, j, k; int power1d[56]; for(i = 0; i<NROWS; i++) { for(j=0; j<NCOLS; j++) { for(k=0; k <56; k++) power1d = power[i][j]; }}
does another array need to be declared?
do i declare the 2-d array as one-d then