Cita de: eferion en 17 Julio 2013, 11:16 AM
Un vector tiene una sola dimensión y una matriz tiene dos... dado que la memoria es lineal no pueden ser iguales.
voy a intentar poner un ejemplo...
int vector[2] = {1, 2}
int matriz[2][2] {1, 2, 3, 4};
Primer caso en la memoria
| 1 | 2 |
Segundo caso (matriz):
| 1 | 2 | 3 | 4 |
En el vector para acceder al segundo elemento se hace vector[1]
En la matriz para acceder al tercer elemento (3), se accede mediante matriz[1][0], pero realmente se almaena de forma lineal, y el compilador a partir de los subindices i, j, sabe cuantas posiciones tienen que avanzar a partir del primer elemento, es decir:
El desplazamiento es:
(i * número de elementos columna) + j