Curso de Programación en C/Prog119
Ir a la navegación
Ir a la búsqueda
Prog119
1 #include <stdio.h>
2
3 #define LARGO 20
4
5 struct Nombres {
6 char Nombre[LARGO];
7 char Apellido[LARGO];
8 };
9
10 struct Personas {
11 struct Nombres handle;
12 char ComidaPreferida[LARGO];
13 char Profesion[LARGO];
14 float IngresosMensual;
15 };
16
17 int main( void )
18 {
19 struct Personas Companero[2] =
20 {
21 {
22 { "Horacio", "Villanueva" },
23 "salmon",
24 "Gigolo",
25 58112.00
26 },
27
28 {
29 {"Rupert", "Delgado" },
30 "menudo",
31 "Editor de Revistas",
32 32400.00
33 }
34 };
35
36 struct Personas * El; /* here is a pointer to a structure */
37 El = &Companero[0]; /* tell the pointer where to point */
38
39 printf( "\npointer: %p\n", El );
40 printf( "Nombre: %s\n", El->handle.Nombre );
41 printf( "Apellido: %s\n", El->handle.Apellido );
42 printf( "Comida Preferida: %s\n", El->ComidaPreferida );
43 printf( "Profesión: %s\n", El->Profesion );
44 printf( "Ingreso Mensual: %.2f\n", El->IngresosMensual );
45
46 El++; /* point to the next structure */
47
48 printf( "\npointer: %p\n", El );
49 printf( "Nombre: %s\n", (*El).handle.Nombre );
50 printf( "Apellido: %s\n", (*El).handle.Apellido );
51 printf( "Comida Preferida: %s\n", (*El).ComidaPreferida );
52 printf( "Profesión: %s\n", (*El).Profesion );
53 printf( "Ingreso Mensual: %.2f\n\n", (*El).IngresosMensual );
54
55 return 0;
56 }
Resultado
pointer: 0x7ffffaec23a0 Nombre: Horacio Apellido: Villanueva Comida Preferida: salmon Profesión: Gigolo Ingreso Mensual: 58112.00 pointer: 0x7ffffaec23f4 Nombre: Rupert Apellido: Delgado Comida Preferida: menudo Profesión: Editor de Revistas Ingreso Mensual: 32400.00 [rrc@llawyr CClase]$