Estructuras de Regristros.

Definición

Una estructura no es más que un conjunto de variables de distinto tipo agrupadas con un mismo nombre para que su manejo sea simple.

estructura01

En la imagen podemos ver que la estructura de datos contine 4 tipos de datos diferentes.

    char
    
    int
    
    float
    
    tipo_nodo
            

El tipo de dato llamado tipo_nodo nos indica que las estructuras de datos pueden contener tantos datos básicos como datos creados por nosotros mismos.

Declaración de estructuras.

Las estructuras se pueden declarar de la siguente forma:

    struct nombre_estructura { 
        campo/miembro estructura;
    };
            

Donde:

--- struct es una palabra reservada de C que indica la composición de una estructura.

--- nombre_estructura asigna el nombre a dicha estructura.

--- campo/miembro estructura; son tipos de datos que contiene, se les puede llamar campo ó miembro.

Si desearamos hacer una agenda telefónica, la forma para declararla podría ser:

	struct agenda_entrada {
		char nombre[50];
		char apellido[60];
        
		char telefono[10];
		char edad;
	};
    		

Otra forma sería:

	struct agenda_entrada {
		char nombre[50];
		char apellido[60];
		char telefono[10];
		char edad;
	}familiar, laboral; 
    		

e incluso podríamos declararla como:

	struct {
		char nombre[50];
		char apellido[60];
		char telefono[10];
		char edad;
	}familiar, laboral; 
    		

En el primer ejemplo estamos declarando la estructura, luego, cuando la necesitemos, le asingaremos las variables. Para el segundo y tercer ejemplo hemos declarado las variables junto a la estructura, esto nos trae el inconveniente de no poder declarar más variables a lo largo del programa pues las estructuras se tienen que declarar antes de la función main.

Tomando el primer ejemplo, agenda_entrada es un nuevo tipo de dato que hemos creado. Para poner a trabajar nuestra creación solo tenemos que asignarle una variable:

struct agenda_entrada agenda;

como vemos, nuestra variable "agenda" es de tipo agenda_entrada. Si por ejemplo queremos ir al contenido del campo "nombre" solo tenemos que escribir:

agenda.nombre;

Estructura y arreglos.

Aplicando un poco de lógica, nos daremos cuenta que nuestra agenda solo almacenaría una entrada, cosa poco práctica. Para solucionar esto solo tenemos que declarar un array ó arreglo de estructura:

struct estructura_agenda agenda[30]

como vemos, hemos declarado que "agenda" sea un vector de 30 elementos. La manera de acceder a cada elemento sería:

amigo[número_de_elemento].campo_estructura

Donde:

--- amigo[número_de_elemento] hace referencia a la posicion del elemento dentro del vector. amigo[0] hace referencia al primer elemento.

--- .campo_estructura apunta hacia un miembro del elemento referenciado. amigo[0].edad nos mostraría la edad contenida en el primer elemento.


Seguir a paginadeC en Twitter Foro de Página de C ¡CSS Válido!