Programación en C | Funcionamiento de una matriz y su similitud al vector de strings
En programación una matriz es un medio de almacenamiento de datos. A diferencia del vector, tiene filas y columnas donde se aloja el dato.
Su recorrido se hace con un doble for (for anidado) donde i = filas y j = columnas. Podemos hacer acceso directo poniendo los índices como también recorrer la matriz hasta hallar lo que busquemos.
Una matriz tiene la siguiente forma:
int matriz[5][5];
Gráficamente sería algo así:
Se trata de una matriz 5x5.
Vemos como se accede. Si queremos ir a un dato específico basta con buscar sus índices. Por ejemplo ir al dato (3,2) y mostrarlo tendríamos que recorrerlo con un doble for. Hagamos un ejercicio:
Primero llenamos la matriz con números y luego la mostraremos.
Nota: Cuando pedimos los datos tenemos que usar el & para almacenarlo en una dirección de memoria. Al mostrar no es necesario.
Explicación:
El for anidado funciona iterando primero las filas y luego las columnas. Pero cuidado. Luego de la primera iteración de la fila, itera la columna hasta terminar y recién ahí se incrementa la fila siguiente. Luego lo mismo, iteran las columnas y recién ahí se incrementa la fila.
Algo así:
i = 0 y j = 0; j = 1; j = 2; j = 3; j = 4;
... termina primer iteración de i entonces:
i = 1 ; j = 0; j = 1; j = 2; j = 3; j = 4; ... i = 2;
... y se vuelve a repetir.
Veamoslo en funcionamiento:

Aclaremos algo importante. Lo visto anteriormente en mis otras publicaciones mostraba como funcionaba un vector de strings. Bueno, funciona algo similar a esto.
Cuando declaramos un vector de strings se declara como si fuera una matriz.
Sería algo así:
char vector_strings[20][5];
O sea, estamos dando una extensión de palabra de 20 carácteres y 5 palabras. Lo mismo que antes. En las filas va a iterar la primera y en las columnas van a ir los carácteres, luego incrementa la fila y va a pedir los carácteres y así completando las palabras.
A su final se termina con un /0 dando a entender que es el fin de palabra. Similar al fin de archivo NULL que se verá próximante en manejo de archivos.
Si usamos una matriz también se puede meter palabras completas dentro de cada casillero. La alternativa es usar vector de strings.
Si te gustó mi post te invito a valorarme y ayudarme a crecer. Me podes encontrar en Twitter : https://twitter.com/VKyteler
¡Hasta pronto!

Congratulations @vikvitnik! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOPVote for @Steemitboard as a witness to get one more award and increased upvotes!
You got a 10.89% upvote from @bdvoter courtesy of @vikvitnik!
Delegate your SP to us at @bdvoter and earn daily 100% profit share for your delegation & rewards will be distributed automatically daily.
500 SP, 1000 SP, 2500 SP, 5000 SP, 10000 SP.
If you are from Bangladesh and looking for community support, Join BDCommunity Discord Server & If you want to support our service, please set your witness proxy to BDCommunity.