0% encontró este documento útil (0 votos)
29 vistas22 páginas

Estructuras de Datos en C: Guía Completa

Cargado por

ramosmarcelook
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas22 páginas

Estructuras de Datos en C: Guía Completa

Cargado por

ramosmarcelook
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Informática.

Estructuras de
datos

Lic Francisco R. Murcia.


Una estructura (también llamada registro) es un tipo de datos que agrupa
varios datos de tipo simple en uno solo.
Las estructuras se declaran con la palabra reservada struct.
struct nombre{
campos;
};
Cada campo está formado por la declaración de una o más variables de algún
otro tipo. Ejemplo:
struct persona{
char nombre[30]; persona

int edad; nombre (cadena) edad (int)

};

Campos
Una vez definida la estructura se pueden declarar variables de ese tipo:
typedef struct{ o struct persona {
char nombre[30]; char nombre[30];
int edad; int edad;
}persona_t; //sinonimo }... juan_global;
persona_t juan, maria; o
persona_t juan, maria;
La acceso se hace mediante el operador “.”
gets(juan.nombre);
juan.edad = 23;
gets(maria.nombre);
maria.edad = 17;
structSimplePersona.c
Carta de baraja struct carta{
int numero;
número palo
char palo;
};

struct libro{
Libro char titulo[40];
char autor[30];
título autor editorial anyo char editorial[20];
int anyo;
};

Polígono regular struct poligono{


char nombre[20];
nombre lados longitud Lado
int lados;
float longitudLado,
área area;
};
struct alumno{
int matricula;
char nombre[20];
char carrera[20];
float promedio;
char direccion[20];
};
alumno

matricula nombre carrera promedio direccion


Defina estructuras para los siguientes datos y escriba un ejemplo de inicialización
de una variable.

Cliente de gimnasio

nombre dirección teléfono saldo

Registro equipos electrónicos


marca modelo anyo Numero Serie
El operador = se puede utilizar para asignar todos los campos de una estructura
a otra.

structLibro.c
Para acceder a una estructura mediante un puntero se utiliza la siguiente notación:
(*estructura).campo equivalente a estructura->campo
Es necesario crear mediante new la estructura antes de usarla.
Ejemplo:
struct alumno{
int matricula;
char nombre[20];
char carrera[20];
float promedio;
char direccion[20];
};
main(){
alumno *a;
a = new(struct alumno); //Alocación de memoria acorde a la
estructura alumno
(*a).matricula = 234; a->matricula = 234;
strcpy((*a).nombre,"Juan Perez"); strcpy(a->nombre,"Juan Perez");
strcpy((*a).carrera,"Mate"); strcpy(a->carrera,"Mate");
(*a).promedio = 6.7; a->promedio = 6.7;
strcpy((*a).direccion,"Lomas 34"); strcpy(a->direccion,"Lomas 34");
}
Una función que devuelve
una estructura
Las estructuras se pasan como parámetros a las funciones de la
misma forma que las variables de tipo simple.
Actualizar datos de la estructura
Puntero a estructura
Las estructuras pueden contener a otras estructuras
como componentes.

Una estructura que tiene componentes de tipo


estructura se denomina estructura anidada.
Ejemplo de estructuras anidadas
struct fecha{
int dia,mes,anyo;
};

struct persona{
char nombre[20];
char apellido[20];
fecha nacimiento;
int edad;
int sexo;
char DNI[19];
char telefono[20];
};

nombre apellido nacimiento edad sexo DNI telefono

dia mes anyo


Se puede acceder a los campos de una estructura anidada mediante el
operador “.”. Por ejemplo:

persona per,*per2;

per.nacimiento.dia = 5;
per.nacimiento.mes = 7;
per.nacimiento.anyo = 1998;

per2->nacimiento.dia = 1;
per2->nacimiento.mes = 8;
per2->nacimiento.anyo = 2005;
fecha
dia mes anyo

direccionStruct
calle barrio ciudad provincia país num cp

nombreStruct
nombre apellidos

nomdir
nom dir
nombre apellidos calle provincia ciudad estado pais num cp
Alquiladora de autos
La información de los autos de un rentacar consiste de:
Marca y modelo (cadenas de caracteres)
Anyo (entero)
Color (carácter)
Categoria (numero)
kilometraje (entero )
Ubicación(estructura)
calle(cadena de caracteres)
número (entero)
provincia(cadena de caracteres)
Código postal (cadena de caracteres)
Ciudad (cadena de caracteres)
Patente(cadena de caracteres)

Donde categoria es un entero entre 1 y 5, 1 Alta gama, 5 Gama económica.


Mostrar modelo y patente de todos los autos de categoria económica.

for(i = 0;i<50;i++)
if(autos[i].categoria==5)
printf(“Modelo: %s, patente: %s\n”,
autos[i].modelo,autos[i].patente);

Modelo y patentes de autos de categoría alta con más de 100000 km


para realizar service.

for(i = 0;i<50;i++)
if(autos[i].categoria==1&&autos[i].kilometros>100000)
printf(“patente: %s, Km:%s\n”,
autos[i].modelo, autos[i].patente);
FIN

También podría gustarte