Dúvida com ponteiros e estruturas em C

1. Dúvida com ponteiros e estruturas em C

Paulo Pimenta
paulopimenta6

(usa Debian)

Enviado em 30/03/2021 - 15:20h

Olá pessoal,

Estava estudando C e ao fazer um código que envolve estruturas e ponteiros tive um problema de retorno do valor de uma das variaveis da estrutura. Aparece sempre "segmentantion Fault" quando tento imprirmir na função "main" o valor de um inteiro que é atribuído a uma das variáveis da estrutura. Abaixo segue o código:


#include <stdlib.h>
#include <stdio.h>

struct Lista *insere_final(struct Lista *n, int x); //prototipo da funcao

struct Lista{
int valor;
struct Lista *proximo; //ponteiro para a proxima entrada da lista
//uso de recursividade. Uma struct dentro de outra
};

int main(){
struct Lista *inicio;
insere_final(inicio, 10);

printf("O valor fora da funcao de inicio->valor e: %d \n", inicio->valor);

return 0;
}

struct Lista *insere_final(struct Lista *n, int x){
struct Lista *novo=(struct Lista *)malloc(sizeof(struct Lista)); //alocou memoria dinamicamente para a lista
novo->valor=x;
if(n==NULL){//lista nao esta vazia
printf("n esta vazio! \n");
novo->proximo=NULL;
printf("1 - O valor dentro da funcao de novo->inicio: %d \n", novo->valor);
return novo; //novo no sera o inicio da lista
}
else{//lista nao esta vazia-vamos ao final para inserir o no
struct Lista *temp=n; //criando referencia ao primeiro no
while(temp->proximo!=NULL){//e preciso ir ao ultimo no
temp=temp->proximo;
}
novo->proximo=NULL;
temp->proximo=novo;//o ultimo no apontara para o novo no
printf("Entrou em else e esta verificando temp \n");
return n;
}

}


Desde já agradeço a todos que possam ajudar!


  


2. Re: Dúvida com ponteiros e estruturas em C





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts