Pessoal preciso de desenvolver um programa que usa uma arvore binária para decodificar codigo morse, fiz a seguinte função:   void ArvDecodifica (Arv *a, char *cod[]) //passo como parâmetro a arvore para decodificar e a string com o codigo da palavra {     char palavra[40]; //cria uma string para armazenar a palavra que sera decodificada     Arv *p = (Arv*) malloc(sizeof(Arv));     p = a;     int i,j;     i=j=0;     while (c!= '')   //enquanto ainda for codigo         {             while(c!=' ')//enquanto não tiver espaço continua na mesma arvore             {             if(c == '.' )                 p=p->esq;             else                 p=p->dir;              i++;             }//o while vai parar quando achar o espaço, que indica a mudança de letra, nesse momento o p vai estar em alguma letra da arvore         palavra[j]=p->info;//a string vai receber a letra onde o p está         j++;//incremento para gravar a proxima letra da palavra         p=a;// volta a raiz da árvore para que se possa achar a próxima letra         }         palavra[j]='';         printf("A palavra é:");         puts(palavra);//imprime a palavra decodificada  }  Estou usando a seguinte arvore:      Arv* h = cria('h', NULL, NULL); /* sub-árvore com 'h' */     Arv* v = cria('v', NULL, NULL); /* sub-árvore com 'v' */     Arv* f = cria('f', NULL, NULL); /* sub-árvore com 'f' */     Arv* l = cria('l', NULL, NULL); /* sub-árvore com 'l' */     Arv* p = cria('p', NULL, NULL); /* sub-árvore com 'p' */     Arv* j = cria('j', NULL, NULL); /* sub-árvore com 'j' */     Arv* b = cria('b', NULL, NULL); /* sub-árvore com 'b' */     Arv* x = cria('x', NULL, NULL); /* sub-árvore com 'x' */     Arv* c = cria('c', NULL, NULL); /* sub-árvore com 'c' */     Arv* y = cria('y', NULL, NULL); /* sub-árvore com 'y' */     Arv* z = cria('z', NULL, NULL); /* sub-árvore com 'z' */     Arv* q = cria('q', NULL, NULL); /* sub-árvore com 'q' */     Arv* s = cria('s', h, v); /* sub-árvore com 's' */     Arv* u = cria('u', f, NULL); /* sub-árvore com 'u' */     Arv* r = cria('r', l, NULL); /* sub-árvore com 'r' */     Arv* w = cria('w', p, j); /* sub-árvore com 'w' */     Arv* d = cria('d', b, x); /* sub-árvore com 'd' */     Arv* k = cria('k', c, y); /* sub-árvore com 'k' */     Arv* g = cria('g', z, q); /* sub-árvore com 'g' */     Arv* o = cria('o', NULL, NULL); /* sub-árvore com 'o' */     Arv* i = cria('i', s, u); /* sub-árvore com 'i' */     Arv* a = cria('a', r, w); /* sub-árvore com 'a' */     Arv* n = cria('n', d, k); /* sub-árvore com 'n' */     Arv* m = cria('m', g, o); /* sub-árvore com 'm' */     Arv* e = cria('e', i, a); /* sub-árvore com 'e' */     Arv* t = cria('t', n, m); /* sub-árvore com 't' */     Arv* raiz= cria(' ', e, t); /* raiz da árvore */  Porem quando eu mando compilar da um erro , o compilador fecha e a função para, alguém pode me ajudar?