/**************************************************************************** PROGRAMA: tipos2 AUTOR: Kiko FECHA: 12.07.94 FINALIDAD: Ilustraci˘n de tipos de datos estructurados. HISTORIA: BIBLIOGRAFIA: MODO DE UTILIZACION: Sin requerimientos especiales. ****************************************************************************/ /* Ficheros de cabeceras de funciones de librerˇa */ #include /* Para el printf */ #include /* Para el clrscr */ #include /* Para el strcpy */ #define N 2 #define M 3 int vector[N]; /* Un array de N enteros */ static char mensaje[] = "­Hola!"; /* Mensaje est tico */ float x[5] = {0, 1.0, 2.0, 3.0, 4.0}; /* Vector de reales */ char colores[3] = {'R', 'G', 'B'}; /* Caracteres */ int matriz[N][M]; /* Array bidimensional */ /* Definiciones de estructuras */ struct fecha { int mes; int dia; int anio; }; struct alumnos { char nombre[20]; char apellido1[20]; char apellido2[20]; unsigned long int dni; int curso; } alu1, alu2, alu3; struct lista { char elemento[10]; /* Elemento de la lista */ struct lista *sig; /* Puntero al siguiente nodo */ }; /* Variables estructuradas */ struct fecha f; struct alumnos alu4, alu5, alu6; struct lista L; /* alu1, alu1, alu3, alu4, alu5 y alu6 son todas variables estructuradas del tipo alumnos. N˘tese las distintas formas de declarar estas variables. */ /* Enumeraci˘n para definir el tipo boolean */ typedef enum {FALSE = 0, TRUE = 1} boolean; void main() { int i; clrscr(); for (i = 0; i < N; i++) vector[i] = i; /* Acceso a los campos de una estructura */ f.dia = 12; f.mes = 7; f.anio = 1994; strcpy(alu1.nombre, "Miguel"); strcpy(alu1.apellido1, "Cervantes"); strcpy(alu1.apellido2, "Saavedra"); alu1.dni = 123456; printf("Nombre: %s %s %s\n", alu1.nombre, alu1.apellido1, alu1.apellido2); printf("D.N.I.: %ld\n", alu1.dni); }