MAC0122 Desenvolvimento de Algoritmos
Um tipo abstrato de dados (= abstract data type = ADT) é um tipo-de-dados definido em termos do seu comportamento e não em termos de sua representação.
O usuário só tem acesso a um tipo abstrato de dados através de uma interface, representada em C por um arquivo-interface (= header file).
Os programas que usam um determinado tipo abstrato de dados são clientes; o programa que define a estrutura e o comportamento do tipo abstrato de dados é conhecido como implementação.
Exemplos: Cadeias de caracteres (= strings) podem ser tratadas como um tipo abstrato de dados. Pilhas (= stacks), filas (= queues) e tabelas de símbolos (= symbol tables) são tipos abstratos clássicos.