Estructura De Datos

Páginas: 14 (3386 palabras) Publicado: 26 de febrero de 2014
Profesor: Juan Antonio López Quesada.
Ciclo Formativo de Grado Superior: Fundamentos de Programación.
WEB: http://dis.um.es/~lopezquesada
E-mail: juanlop@um.es

Otras estructuras en C/C++
Estructuras

Contenido









Estructuras
Arrays de estructuras
Inicializar una estructura
Punteros a estructuras
Punteros a arrays de estructuras
Paso de estructuras a funcioneso Pasar solo miembros
Estructuras dentro de estructuras (Anidadas)

Estructuras

Supongamos que queremos hacer una agenda con los números de teléfono
de nuestros amigos. Necesitaríamos un array de Cadenas para almacenar
sus nombres, otro para sus apellidos y otro para sus números de teléfono.
Esto puede hacer que el programa quede desordenado y difícil de seguir. Y
aquí es donde vienenen nuestro auxilio las estructuras.
Para definir una estructura usamos el siguiente formato:
struct nombre_de_la_estructura {
campos de estructura;
};
NOTA: Es importante no olvidar el ';' del final, si no a veces se obtienen
errores extraños.
Para nuestro ejemplo podemos crear una estructura en la que
almacenaremos los datos de cada persona. Vamos a crear una declaración
de estructurallamada amigo:

Pag. 1

Profesor: Juan Antonio López Quesada.
Ciclo Formativo de Grado Superior: Fundamentos de Programación.
WEB: http://dis.um.es/~lopezquesada
E-mail: juanlop@um.es

Pag. 2

struct estructura_amigo {
char nombre[30];
char apellido[40];
char telefono[10];
char edad;
};
A cada elemento de esta estructura (nombre, apellido, teléfono) se le llama
campo o miembro.(NOTA: He declarado edad como char porque no
conozco a nadie con más de 127 años.
Ahora ya tenemos definida la estructura, pero aun no podemos usarla.
Necesitamos declarar una variable con esa estructura.
struct estructura_amigo amigo;
Ahora la variable amigo es de tipo estructura_amigo. Para acceder
nombre de amigo usamos: amigo.nombre. Vamos a ver un ejemplo
aplicación de esta estructura.(NOTA: En el siguiente ejemplo los datos
se guardan en disco así q
ue cuanda acaba la ejecución del programa
pierden).

al
de
no
se

#include
struct estructura_amigo {
estructura_amigo */
char nombre[30];
char apellido[40];
char telefono[10];
char edad;
};

/*

Definimos

la

estructura

struct estructura_amigo amigo;
int main()
{
printf( "Escribe el nombre del amigo:" );
fflush( stdout );
scanf( "%s", &amigo.nombre );
printf( "Escribe el apellido del amigo: " );
fflush( stdout );
scanf( "%s", &amigo.apellido );
printf( "Escribe el número de teléfono del amigo: " );
fflush( stdout );
scanf( "%s", &amigo.telefono );
printf( "El amigo %s %s tiene el número: %s.\n", amigo.nombre,
amigo.apellido, amigo.telefono );
}
Comprobado con DJGPP

Este ejemploestaría mejor usando gets que scanf, ya que puede haber
nombres compuestos que scanf no cogería por los espacios.
Se podría haber declarado directamente la variable amigo:

Profesor: Juan Antonio López Quesada.
Ciclo Formativo de Grado Superior: Fundamentos de Programación.
WEB: http://dis.um.es/~lopezquesada
E-mail: juanlop@um.es

Pag. 3

struct estructura_amigo {
char nombre[30];char apellido[40];
char telefono[10];
} amigo;

Arrays de estructuras

Supongamos ahora que queremos guardar la información de varios amigos.
Con una variable de estructura sólo podemos guardar los datos de uno.
Para manejar los datos de más gente (al conjunto de todos los datos de
cada persona se les llama REGISTRO) necesitamos declarar arrays de
estructuras.
¿Cómo se hace esto?Siguiendo nuestro ejemplo vamos a crear un array de
ELEMENTOS elementos:
struct estructura_amigo amigo[ELEMENTOS];
Ahora necesitamos saber cómo acceder a cada elemento del array. La
variable definida es amigo, por lo tanto para acceder al primer elemento
usaremos amigo[0] y a su miembro nombre: amigo[0].nombre. Veamoslo
en un ejemplo en el que se supone que tenemos que meter los datos de
tres...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Estructura de Datos
  • Estructura De Datos
  • Estructura de datos
  • Estructura de datos
  • Estructura de datos
  • Estructuras de datos
  • Estructura de Datos
  • estructura de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS