Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Ponteiro de Ponterio de Estrutura


Antuness

Pergunta

Estou com dificuldade em um exercício, pelos erros ocorridos tenho quase certeza que é erro em algum ponteiro, mais precisamente o (*aux), Segue o código abaixo:

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


struct lista{
       char nome[20];
       int ativo;
       struct lista *proximo;
       };
       

void insere(struct lista **inicio, char dado[20])
{
  struct lista *novo;
  struct lista *aux;    
    novo = (struct lista *)malloc(sizeof(struct lista));
    //aux = (struct lista *)malloc(sizeof(struct lista));
    strcpy((*novo).nome,dado);
    (*novo).ativo=1;
    (*novo).proximo = NULL;
    if(*inicio==NULL)
      *inicio = novo;
    else
    {
      aux = *inicio;
     puts("......");
     printf("%i\n",(*aux).proximo);           
     
      while((*aux).proximo!=NULL){          //Qualquer linha que eu utilizo o ponteiro *aux dá erro, mas não entendo  
        aux = (*aux).proximo;               //pois não vejo nenhuma diferença entre o *aux e *novo, e esse ultimo
      }                                                / /funciona como o previsto
    (*aux).proximo=novo;                
    }
}

void deleta(struct lista *inicio,char dado[20]){
     struct lista *aux;
     aux = inicio;
     while(aux!=NULL){
          if(strcmp((*aux).nome,dado))
             (*aux).ativo=0;
            else
              aux=(*aux).proximo;
        }
     }           
     
     
void imprime(struct lista *inicio){
     struct lista *aux;
     aux = inicio;
     while(aux!=NULL){
           if((*aux).ativo==1);
              puts((*aux).nome);
           //printf("%x",(*aux).proximo);
           aux=(*aux).proximo;
           }
     }              
     
     
main(){
       struct lista *list;
       
       insere(&list,"1");
       insere(&list,"2");
       insere(&list,"3");
       insere(&list,"4");
       insere(&list,"5");
       insere(&list,"6");
       
//       imprime(list);  //outro  função que é utilixado um*aux e é encontrado erro
       getch();
       }

Se puderem me ajudar a entender o erro ficarei grato, eu mandava bem em C até chegar o ponteiro.

Bom é isso Obrigado

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...