Ir ao conteúdo
  • Cadastre-se

Problema em criar um vetor q armazena endereço


chrislix

Posts recomendados

Galera preciso criar um vetor, e as posições desse vetor ter um endereço que aponta para o valor armazenado, apos isso imprimir ambos, endereço e valor referente, alguem poderia me ajudar por favor?

void insere(int chave, int tam, int **vet){     if(vet[tam]!=0)    {        insere(chave, tam, *vet);    }    if(vet[tam]==0)    {        No *novoNo = (No *)malloc(sizeof(No));        vet[tam]= novoNo;    }  }  main(){    No *vet[10];    int i;     for(i = 0; i<10; i++)    {        vet[i]= 0;    }    int b;    int a= 10;    for(i=0;i<10;i++)    {        printf("insisra o valor para armazenar no vetor\n");        scanf("%f", &;        insere( b, a, *vet);    }     for(i=0;i<a;i++)    {        printf("%d, %p", vet[i], &vet[i]);    }}
Link para o comentário
Compartilhar em outros sites

Não testei seu código, mas pude ver dois erros.

1) Na função "main()", você está especificando o vetor "vet" como sendo do tipo "No *", mas na função "insere()", ele é recebido como "int *".

Além disso, como o vetor é estático, logo, não há necessidade em receber ele como ponteiro duplo na função "insere()".

 

2) Na função insere, você está entrando em recursividade sem alterar algum dos parâmetros passados, logo, se a condição "if()" for válida, ele entrará em loop infinito.

 

Modificação da variável "vet":

Na função "main()":int main(void){    No *vet[10];    [...]    insere( b, a, vet );    [...]    printf("%d, %p", (*vet)[i], vet[i]);} Na função "insere()":void insere( int chave, int tam, No *vet[] ){    [...]    novoNo = malloc( sizeof(No) );    [...]}

Não é necessário fazer typecast no retorno da função "malloc()" e também não é aconselhável, pois pode esconder erros em códigos, quando se força a troca de um tipo por outro.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!