Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo.
Aqui dejo un ejemplo de una lista realizada con una estructura, tambien pueden ser de tipo entero flotante, etc.
* La estructura Persona tiene como datos clave y nombre.
* El tamaño de arreglo es 3.
* A cada subindice del arreglo se le asigna un objeto creado de Persona.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ELEMENTOS 3
#define TAMANO_NOMBRE 25
typedef struct{
int clave;
char nombre[TAMANO_NOMBRE];
}Persona;
typedef Persona TipoElemento;
typedef int posicion;
typedef struct{
TipoElemento elementos[MAX_ELEMENTOS];
posicion ult;
}Lista;
int Posicion;
Persona Alumno;
Persona Alumno2;
Persona Alumno3;
Lista MiLista;
void inicializador(){
Alumno.clave=100;
strcpy(Alumno.nombre,"Salva");
Alumno2.clave=200;
strcpy(Alumno2.nombre,"Salvato");
Alumno3.clave=300;
strcpy(Alumno3.nombre,"Salvatore");
MiLista.elementos[0]=Alumno;
MiLista.elementos[1]=Alumno2;
MiLista.elementos[2]=Alumno3;
}
void imprimeMiLista1(){
int i;
for(i=0;i<=MAX_ELEMENTOS-1;i++){
printf("Elementos[%d]:\n",i);
printf("clave=%d\n",MiLista.elementos[i].clave);
printf("nombre=%s\n",MiLista.elementos[i].nombre);
}
}
int main()
{
inicializador();
printf("todoProgramdo.blogspot.mx\n\n");
imprimeMiLista1();
return 0;
}