Estructuras en el lenguaje C
¿Qué son las estructuras?    Una colección de variables    relacionadas bajo el mismo    nombre    Son tipos de datos de...
Definición           Identificador o rótulo      struct alumno {           char nombre[20];           int edad;           ...
Declaración, inicialización y accesostruct alumno x; // Declaraciónstruct alumno y = { “Jimena”, 22,1.67}; // Inicializaci...
Copiar datos de una estructura a otrastruct alumno x; // Estructura vacíastruct alumno y = {“Jimena”, 22, 1.67};x = y;/* L...
Apuntadores a estructurasstruct alumno *ap_x; // Apuntadorap_x = &x; // Asignamos la dirección de x/* Para acceder a un mi...
Estructuras anidadasstruct tarea { struct alumno autor; // estructuraanidada  int calificacion;} tarea_x; // Se puede decl...
Estructuras anidadas/* Para acceder a una estructura interna, hayque hacerlo en orden */tarea_x.autor.edad = 45;printf(“Au...
Estructuras anidadas/* Para acceder a una estructura interna, hayque hacerlo en orden */tarea_x.autor.edad = 45;printf(“Au...
Estructuras autoreferenciadasstruct nodo {     int dato; struct nodo *anterior; // apuntador almismo tipo de estructura   ...
Estructuras autoreferenciadasstruct nodo nodo1, nodo2;nodo1.dato = -5;nodo1.siguiente = &nodo2; // asignamosdirección de m...
Bibliografía    Deitel, H. Y Deitel, P. Cómo    programar en C. Prentice Hall.15/02/12     Programación avanzada y método...
Próxima SlideShare
Cargando en…5
×

Estructuras

623 visualizaciones

Publicado el

Diapositivas correspondientes al tema 1.2 de Programación avanzada y métodos numéricos.

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
623
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
13
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Estructuras

  1. 1. Estructuras en el lenguaje C
  2. 2. ¿Qué son las estructuras? Una colección de variables relacionadas bajo el mismo nombre Son tipos de datos derivados, están construidas a partir de variables de otros tipos15/02/12 Programación avanzada y métodos numéricos 2
  3. 3. Definición Identificador o rótulo struct alumno { char nombre[20]; int edad; Miembros float estatura; };15/02/12 Programación avanzada y métodos numéricos 3
  4. 4. Declaración, inicialización y accesostruct alumno x; // Declaraciónstruct alumno y = { “Jimena”, 22,1.67}; // Inicializaciónx.edad = 21; // Accesofloat a = y.estatura;15/02/12 Programación avanzada y métodos numéricos 4
  5. 5. Copiar datos de una estructura a otrastruct alumno x; // Estructura vacíastruct alumno y = {“Jimena”, 22, 1.67};x = y;/* La siguiente línea imprimirá el nombreJimena */printf(“Dato en x: %s”, x.nombre);15/02/12 Programación avanzada y métodos numéricos 5
  6. 6. Apuntadores a estructurasstruct alumno *ap_x; // Apuntadorap_x = &x; // Asignamos la dirección de x/* Para acceder a un miembro desde unapuntador, usamos una flecha -> */ap_x->edad = 45;printf(“Miembro edad de estructura x:%d”,ap_x->edad); // imprime 4515/02/12 Programación avanzada y métodos numéricos 6
  7. 7. Estructuras anidadasstruct tarea { struct alumno autor; // estructuraanidada int calificacion;} tarea_x; // Se puede declarar al final de ladefinición15/02/12 Programación avanzada y métodos numéricos 7
  8. 8. Estructuras anidadas/* Para acceder a una estructura interna, hayque hacerlo en orden */tarea_x.autor.edad = 45;printf(“Autor de la tarea: %s”,tarea_x.autor.nombre);15/02/12 Programación avanzada y métodos numéricos 8
  9. 9. Estructuras anidadas/* Para acceder a una estructura interna, hayque hacerlo en orden */tarea_x.autor.edad = 45;printf(“Autor de la tarea: %s”,tarea_x.autor.nombre);15/02/12 Programación avanzada y métodos numéricos 9
  10. 10. Estructuras autoreferenciadasstruct nodo { int dato; struct nodo *anterior; // apuntador almismo tipo de estructura struct nodo *siguiente;};15/02/12 Programación avanzada y métodos numéricos 10
  11. 11. Estructuras autoreferenciadasstruct nodo nodo1, nodo2;nodo1.dato = -5;nodo1.siguiente = &nodo2; // asignamosdirección de memorianodo2.dato = 67;nodo2.anterior = &nodo1;printf(“Dato del nodo anterior a 2: %i”,nodo2.anterior->dato);15/02/12 Programación avanzada y métodos numéricos 11
  12. 12. Bibliografía Deitel, H. Y Deitel, P. Cómo programar en C. Prentice Hall.15/02/12 Programación avanzada y métodos numéricos 12

×