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