Matrices C

Forman parte de los datos homogéneos.

Una matriz es un conjunto de variables o constantes del mismo tipo asociadas a un mismo nombre.

Las matrices tienen:

  • Tipo es la característica de la variable o constante que comparten todas en común.
  • Nombre es el indentificador que tiene el conjunto de datos
  • Orden los elementos están ordenados y referenciados por un índice o varios.
  • Índice es un número natural que dice la posición del elemento.

    El valor 0 es para la primera posición y de ahí en adelante se seguirán posicionando los siguientes de manera ordenada y consecutivas

  • Dimensión es el número de indicies que tiene la matriz para hacer referencia.

    Las matrices pueden ser:

    1. unidimensionales vectores, listas , arrays , de una sola dimensión.
    2. bidimensionales tablas, de dos dimensiones.
    3. tridimensionales tres dimensiones.
    4. multidimensionales de la dimensión que sean.

  • Tamaño Es la memoria que ocupa la matriz , hay que hacer diferencia entre lo que es el tamaño real físico y lo que se utiliza, el físico siempre tiene que ser mayor o igual , yo para escribir una frase tengo reservar espacio para almacenar la frase como poco , luego mi información solo sera la de la frase pero necesito un espacio igual o mayor para almacenarla .

Declaración de matrices.

para definir una matriz se hace:

									        int A [3][2] ;
									    
Si además la queremos inicializar podemos hacer:
									        int A [2][3] = {{1,2,3},{2,3,4}} ;
									    
La otra manera de inicializar matrices es mediante el uso de bucles.

No hay comprobación de limites de matrices , esto hay que tenerlo en cuenta por parte del programador, ya que el compilador no dará aviso , rebasar las matrices, puede tener diferentes consecuencias, invadir una memoria que no se este usando en cuyo caso no dará ningún problema , invadir memoria reservada a otros datos y provocar un error de cálculo, invadir memoria de otro programa y que el sistema operativo te interrumpa el programa o pillar el propio ordenador y no poder terminarlo.

Una matriz de n dimensiones es lo mismo que una matriz de n-1 dimensione de vectores de dimensión 1 , este concepto se puede ver muy bien en la forma de declarar las funciones con inicialización y será necesario comprender para un uso correcto de las funciones.

cadenas de caracteres

Una cadena de caracteres es un vector de tipo char, con un protocolo aceptado, la cadena siempre termina en '\0'

La forma de definición acepta variaciones.

  • char string[] = "hola mundo" -> genera un vector string[11] = {'h','o','l','a',' ','m','u','n','d','o','\0'}
  • char string[7] = "abcd" en este caso se reservan un vector de longitud 7 si este es mayor que la cadena almacena la cadena y la termina en \0 con los valores restantes que pueden ser lo que hubiese antes , si la cadena tiene 7 caracteres no almacenará le carácter '\0' y si la cadena es más grande que 7 entonces dará un error.

Se puede ver la diferencia entre cadena de caracteres "" y carácter '' , si la cadena tiene un solo carácter esto elimina la ambigüedad.