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

Dúvida em vetor usando funções com malloc e ponteiro


DiegoMB

Pergunta

Olá a todos

Gostaria de pedir ajuda a vocês pois estou tento dificuldades com funções usando ponteiros. Fiz todo o código, como segui abaixo, porém não estou sabendo passar as informações necessárias para as funções. Se alguém puder corrigir meu código ficaria muito grato.

Programa utilizado para desenvolvimento

CodeBlock 13.12

/*
1-Faça uma função que receba um valor n e crie
dinamicamente um vetor de n elementos e retorne
um ponteiro. Crie uma função que receba um ponteiro
para um vetor e um valor n e imprima os n
elementos desse vetor. Construa também uma
função que receba um ponteiro para um vetor e libere
esta área de memória. Por fim, crie uma função principal
que leia um valor n e chame a função de alocação de
memória. Depois, a função principal deve ler os n
elementos desse vetor. Então, a função principal deve
chamar a função de impressão dos n elementos do vetor
criado e, finalmente, liberar a memória alocada através
da função criada para liberação.
*/

int *aloca(int n);
void mostra(int *p, int n);
void liberaEspaco(int *p);

int main(){
int n,i, *vetor;

printf("Quantos números deseja armazenar no vetor?\n");
scanf("%d",&n);

vetor = &aloca;

for(i=0;i<n; i++){
printf("Informe números: \n");
scanf("%d",&vetor);
}

mostra(vetor, n);

liberaEspaco(vetor);

system("pause");
return 0;
}

int *aloca(int n){
int *p;
p=(int*)malloc(n * sizeof(int));
if(!p){
printf("memoria insufuciente para alocacao!!");
exit(0);
}
return p;
}

void mostra(int *p, int n){
int i;
for(i=0; i<n; i++, p++){
printf("Posicao %d = %d: \n",i,*p);
}
}

void liberaEspaco(int *p){
free(p);

if(p == NULL){
printf("Espaço liberado!!!!");
}
}

Editado por DiegoMB
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,3k
×
×
  • Criar Novo...