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

Realloc e Malloc


Paulo N. Junior

Pergunta

Queria entender porque meu codigo não funciona usando a função, toda vez que realoca ele perde informações.

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

int realocar(int *ponteiro,int tamanho){
	tamanho +=1;
	ponteiro = (int *) realloc(ponteiro,tamanho * sizeof(int));
	
	return tamanho;
}

int main(){
	//vetor dinamico
	int tamanho = 1;
	int a,i;
	int *pnt;
	pnt = malloc(tamanho * sizeof(int));
	scanf("%d",&a);
	while(a != 0) {
		for(i=tamanho-1;i<tamanho;i++){
			//printf("tamanho: %d inteiro: %d\n",tamanho-1,i);
			pnt[i] = a;
			scanf("%d",&a);
		}
		tamanho = realocar(pnt,tamanho);
		/*tprintf("Pnt: %p Enderco: %p\n",pnt,&pnt);
		tamanho +=1;
		pnt =realloc(pnt,tamanho * sizeof(int));*/
	}
	
	for(i=0;i<tamanho-1;i++){
		printf("vetor[%d] = %d\n",i,pnt[i]);
	}
	
	free(pnt);
	pnt = NULL;
	
	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Achei a resposta!

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

int realocar(int *ponteiro,int *tamanho){
	*tamanho +=1;
	*ponteiro = (int *) realloc(*ponteiro,tamanho * sizeof(int));
	
	return ponteiro;
}

int main(){
	//vetor dinamico
	int tamanho = 1;
	int a,i;
	int *pnt;
	pnt = malloc(tamanho * sizeof(int));
	scanf("%d",&a);
	while(a != 0) {
		for(i=tamanho-1;i<tamanho;i++){
			//printf("tamanho: %d inteiro: %d\n",tamanho-1,i);
			pnt[i] = a;
			scanf("%d",&a);
		}
		pnt = realocar(pnt,&tamanho);
		/*tprintf("Pnt: %p Enderco: %p\n",pnt,&pnt);
		tamanho +=1;
		pnt =realloc(pnt,tamanho * sizeof(int));*/
	}
	
	for(i=0;i<tamanho-1;i++){
		printf("vetor[%d] = %d\n",i,pnt[i]);
	}
	
	free(pnt);
	pnt = NULL;
	
	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

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,5k
×
×
  • Criar Novo...