Bem, comentando e pedindo mais ajuda... 1 - Eu realmente atribui direto, mas achei que se pudesse fazer isso. Não sei mesmo como usar essa função "strcpy()". Esse help que você sugere, é dentro do próprio compilador? Não pode me dar a dica de como fazer? 2 - Aquele retorno eu coloquei depois, porque o compilador dizia que precisava haver um retorno... depois, eu tinha mudado para "int" o retorno da função e mesmo assim não funcionou. Daí, tirei o "int" e voltei pro "void"... só que esqueci de apagar o retorno embaixo... erro meu. 3 - Eu nunca usei o malloc, e tentei usar pelo que li nas apostilas. No caso, eu estava (ou tentando) alocar uma área de memória vazia só para o ponteiro apontar para algum lugar e ser inicializado. Pelo que eu entendi, a gente determina isso chamando a função, e informando o tamanho (sizeof) e o tamanho de memória usado (no caso, o tamanho do mesmo tipo que eu mesmo criei). 4 - Sim, erro de distração. Esses são os que eu mais adoro. hehehe 5 - Distração também. :P O que é mais complicado mesmo, é você ler uma coisa, e achar que é uma coisa e é outra. Sempre me preocupo para não haver erros de lógica... erros de distração e falta de prática na linguagem atrapalham, mas são superávies. Peço então, mais um ajudinha nesse tópico. Irei refazer e postar aqui novamente o novo código, mas preciso de uma ajuda em como usar "malloc" e "strcpy". Grato.