La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras.

Presentaciones similares


Presentación del tema: "Estructuras."— Transcripción de la presentación:

1 Estructuras

2 Tipos de datos creados por el usuario
1.- Estructura: consiste en agrupar variables bajo un mismo nombre, permitiendo mantener junta la información relacionada. 2.- Campo bits: para tener un fácil acceso a los bits. 3.- Unión: para definir la misma parte de memoria como dos o más tipos diferentes de variables. 4.- Enumeración: para crear una lista de símbolos. 5.- typedef: para crear un nuevo nombre para un tipo de dato. 1

3 Estructuras La declaración de una estructura es una plantilla que puede utilizarse para crear variables estructuradas. Las variables que componen la estructura se llaman campos de la estructura. 1

4 Declaración de Estructuras
struct nombre_estructura { tipo_1 campo_1; tipo_2 campo_2; tipo_n campo_n; }; 1

5 Declaración simultánea de estructuras y variables
struct nombre_estructura{ tipo_1 campo_1; tipo_2 campo_2; tipo_n campo_n; } variable_1, variable_2,...; 1

6 Declaración de Variables
Declaración de variables a partir de un estructura ya decalarada: Cuando se declara una estructura, se está definiendo, esencialmente un tipo complejo de variable compuesto por los elementos de la estructura. struct nombre_estructura variable_1,variable_2,….; 1

7 Referencia a los campos de una Estructura
Para hacer referencia a un campo particular, se utiliza el operador ‘.’: variable.campo_i; 1

8 Ejemplo struct datos_alumno { char nombre[32]; char direccion[32];
int n_matricula,edad; char carrera[32]; } 1

9 Paso de Estructuras a Funciones por valor
struct nombre_estructura{ tipo_1 campo_1; tipo_2 campo_2; …. tipo_n campo_n; } variable_1; int funcion(struct nombre_estructura VARIABLE){ .... VARIABLE.campo_i...; } main(){ funcion(variable_1); ...... 1

10 Paso de Estructuras a Funciones por referencia
struct nombre_estructura{ tipo_1 campo_1; tipo_2 campo_2; …. tipo_n campo_n; } variable_1; int funcion(struct nombre_estructura *VARIABLE){ .... VARIABLE->campo_i...; } main(){ funcion(&variable_1); ...... 1

11 Memoria dinámica ¿Qué hacer cuando las variables declaradas son
insuficientes o cuando no se conoce anticipadamente cuanto almacenamiento será requerido por el programa? 1. Se crea una variable de tipo puntero. 2. Se le pide al sistema operativo que asigne más memoria. 3. El sistema operativo retorna la dirección a la memoria asignada. 4. Si la memoria asignada, no se usará más, se puede devolver al sistema operativo. 1

12 Memoria dinámica ejemplo
struct nodo { int x; int y; struct nodo *prox; // puede apuntar a otro nodo }; main(){ struct nodo *p; p = (struct nodo *)malloc(sizeof(struct nodo)); p -> x = ... p -> y = ... free(p); // libera la memoria apuntada por p } 1


Descargar ppt "Estructuras."

Presentaciones similares


Anuncios Google