Matrix multipliers - using a double pointer instead of an array
I'm working on an openMP enabled matrix-matrix multiplier that will multiply two matrices, A and B, storing the result in C. I have been told to write it in C, of which I have no experience. Before I even begine to think about the omp options I have a few problems to overcome (actually I have many but these are my worst.)
I need to use a double pointer to store the matrices instead of the following array based approach. (This is because I will not know what the matrix sizes will be at compile time.)
am I on the right track by using:
double A[SIZE][SIZE], B[SIZE][SIZE], C[SIZE][SIZE];
I believe this creates 3 pointers to doubles, but are they only single dimensions?? Do they need to be declared as> double **a ...?
By using a double pointer I think I will need to use the malloc function to allocate the memory required.
where m and n are the matrix dimensions. Is this correct?
a = (double *)malloc(sizeof(double)*m*n);
I appreciate the help and I am sorry if this has been done before but I couldn't find it.