a) ERRADO. De forma resumida, um TAD é um tipo de dados que esconde a sua implementação de quem o manipula; de maneira geral as operações sobre estes dados são executadas sem que se saiba como isso é feito. É como se fosse o conceito de classes na Programação Orientada a Objetos.
b) ERRADO. Quando trabalhamos com estruturas de dados como pilhas, filas e árvores, podemos fazer uso de tad‟s, pois, além de conter dados, há implementações envolvidas nessas estruturas, por exemplo, inserir um elemento novo em uma fila. Então qualquer estrutura (não apenas algumas, como afirma a letra) pode ser declarada como tad.
c) ERRADO. Vejam o comentário da letra (B).
d) ERRADO. Nada impede que dentro dos dados de um tad haja outros tad‟s. É como se declarássemos uma classe onde uma de seus atributos de um tipo de outra outra classe ou até mesmo da própria classe.