Jump to content
Fórum Script Brasil
  • 0

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


DiegoMB
 Share

Question

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!!!!");
}
}

Edited by DiegoMB
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647k
×
×
  • Create New...