Estructura de registros

11

Transcript of Estructura de registros

INSTITUTO TECNOLOGICO SUPERIOR DE ZONGOLICA

PLANTEL ZONGOLICA

“ESTRUCTURA DE REGISTROS”

ARQUITECTURA DE COMPUTADORAS

PROFESOR: ARTURO MARTIN MORALES RAYON

ALUMNO: ROBERTO CARLOS CONTRERAS GARCIA

I. S. C.503

Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo.

Un registro se diferencia de un vector en que éste es una colección de datos iguales, es decir, todos del mismo tipo, mientras que en una estructura los elementos que la componen, aunque podrían serlo, no tiene por qué ser del mismo tipo.

Un ejemplo de cómo se declararía un registro en C podría ser:

typedef struct TipoNodo

{

int dato;

struct TipoNodo *sig;

struct TipoNodo *ant;

} TNodo;

En una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.

Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda.

Estructuras de Registros.

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.

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 siguiente 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.