AnteriorPosterior

11.7. Definición de tipos

  Curso: Fundamentos de programación en C, por Nacho Cabanes

11.7. Definición de tipos

El tipo de una variable nos indica el rango de valores que puede tomar. Tenemos creados para nosotros los tipos básicos, pero puede que nos interese crear nuestros propios tipos de variables, para lo que usamos “typedef”. El formato es

typedef tipo nombre;

Lo que hacemos es darle un nuevo nombre a un tipo de datos. Puede ser cómodo para hacer más legible nuestros programas. Por ejemplo, alguien que conozca Pascal o Java, puede echar en falta un tipo de datos “boolean”, que permita hacer comparaciones un poco más legibles, siguiendo esta estructura:

if (encontrado == FALSE) ...

o bien como

if (datosCorrectos == TRUE) ...

 

/*---------------------------*/
/*  Ejemplo en C nº 102:     */
/*  c102.c                   */
/*                           */
/*  Definición de tipos (1)  */
/*                           */
/*  Curso de C,              */
/*    Nacho Cabanes          */
/*---------------------------*/
 
#include <stdio.h>
 
#define VALIDA 711          /* Clave correcta */
#define TRUE 1              /* Nostalgia de los boolean */
#define FALSE 0
 
typedef int boolean;        /* Definimos un par de tipos */
typedef int integer;
 
integer clave;              /* Y dos variables */
boolean acertado;
 
int main() {
  do {
    printf("Introduzca su clave numérica: ");
    scanf("%d", &clave);
    acertado = (clave == VALIDA);
 
    if (acertado == FALSE) printf("No válida!\n");
  }
  while (acertado != TRUE);
 
  printf("Aceptada.\n");
  return 0;
}
 

También podemos usar "typedef" para dar un nombre corto a todo un struct:

/*---------------------------*/
/*  Ejemplo en C nº 103:     */
/*  c103.c                   */
/*                           */
/*  Definición de tipos (2)  */
/*                           */
/*  Curso de C,              */
/*    Nacho Cabanes          */
/*---------------------------*/
 
#include <stdio.h>
 
typedef struct {         /* Defino el tipo "datos" */
  int valor;
  float coste;
  char ref;
} datos;
 
datos ejemplo;           /* Y creo una variable de ese tipo */
 
int main() {
  ejemplo.valor = 34;
  ejemplo.coste = 1200.5;
  ejemplo.ref = 'A';
  printf("El valor es %d", ejemplo.valor);
  return 0;
}


Actualizado el: 16-01-2015 00:19

AnteriorPosterior