Duvida alocamento Dinâmico

1 resposta
Rodrigossff91

4 - Como podemos aumentar o tamanho do ponteiro declarado no exercício anterior, para 40 sem perder os 20 valores que já existe neste ponteiro ?

int *aponta
 aponta = (int*) malloc (20 * sizeof(int));
 
int *aux = aponta;
aponta = (int*) malloc (40 * sizeof(int));

for (x=0; x<20; x++){
  aponta[x] = aux[x];
}

Estou com duvida no exercício 5 e 6 alguém poderia dar um força

5 - Como podemos reduzir o tamanho do ponteiro declarado no exercício anterior, para 5 sem perder os 40 valores que já existe neste ponteiro ?
R:

6 - Como podemos reduzir o tamanho do ponteiro declarado no exercício 4, para 5 sem perder os 2 valores (que estão na primeiras posições) que já existe neste ponteiro ?7
R:

1 Resposta

lucas_aranha

Você pode criar uma cópia desse ponteiro (em um laço obviamente), e depois usar a função realloc p redimensionar o tamanho do ponteiro que terá memória liberada.

Criado 5 de outubro de 2018
Ultima resposta 5 de out. de 2018
Respostas 1
Participantes 2