Difference between Row Major Order and Column Major order
The only difference between Row Major Order and Column Major Order in the case of ANSI C is that the memory access patterns are different.

Suppose we have an array $a[i][j]$ which is stored in Row Major Order and we decide to iterate by columns, then the CPU would take more time to process this set of instruction as compared to the case where we decide to iterate by rows. Using the correct access pattern helps the Operating System use caches more effectively.

However this has no bearing on the running time complexity of the code and for all arrays which occupy space below a certain threshold, the difference would be hardly noticeable.

One final note:


If Row Major Order is taken, then we have $2$ arrays of $a[3][4]$ so each array has $12$ elements. Total no.of elements $= 2*12 = 24$ elements.
If Column Major Order is taken, then we have $4$ arrays of $a[2][3]$ so each array has $6$ elements. Total no.of elements $= 4*6 = 24$ elements.