Ir para o conteúdo
SM

Listas

Mensagens Recomendadas

SM    0
SM

/* listas simplesmente ligadas */

struct lista{
int informacao;
struct lista* prox;
};
typedef struct lista Lista;

/* -funcao que cria lista- */
Lista* criar(){
return NULL;
}

/* -funcao que insere um elemento na lista- */
Lista* insere(Lista* l, int k){
Lista* t = (Lista*)malloc(sizeof(Lista));
t->informacao = k;
t->prox = l;
return l;
}

/* -funcao que imprime os elementos da lista- */
void imprime(Lista* l){
Lista* p;
for (p=l; p!=NULL; p=p->prox)
	printf("informacao: %d\n", p->informacao);
}

int main(){
Lista* l = (Lista*)malloc(sizeof(Lista));
l = criar();
l = insere(l, 1);
l = insere(l, 34);
imprime(l);
return 0;
}

Isto está-me a dar uma data de erros e eu nao compreendo porque.

Alguem sabe ajudar?

Os erros sao :

listas_T2.c: In function ‘criar’:

listas_T2.c:14:9: error: ‘NULL’ undeclared (first use in this function)

listas_T2.c:14:9: note: each undeclared identifier is reported only once for each function it appears in

listas_T2.c: In function ‘insere’:

listas_T2.c:19:2: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]

listas_T2.c:19:21: warning: incompatible implicit declaration of built-in function ‘malloc’ [enabled by default]

listas_T2.c: In function ‘imprime’:

listas_T2.c:28:15: error: ‘NULL’ undeclared (first use in this function)

listas_T2.c:29:3: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]

listas_T2.c:29:3: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]

listas_T2.c: In function ‘main’:

listas_T2.c:35:21: warning: incompatible implicit declaration of built-in function ‘malloc’ [enabled by default]

listas_T2.c: In function ‘criar’:

listas_T2.c:15:1: warning: control reaches end of non-void function [-Wreturn-type]

nao percebo porque e que da erro no NULL e no malloc.. ate o printf :S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SM    0
SM

Obrigado  :hmm: foi mesmo da falta de pratica.

Mas ainda assim nao me ta a dar resultado nenhum, sabes me dizer o que ta mal ? Deveria ter imprimido : 1 34

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SM    0
SM

Ja ta resolvido  :(

Era aqui:

Lista* insere(Lista* l, int k){
        Lista* t = (Lista*)malloc(sizeof(Lista));
        t->informacao = k;
        t->prox = l;
        return t;
}

Edit: GeSHi adicionado com a linha em questao marcada

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade