Informática, perguntado por Gabiprib9019, 1 ano atrás

Considerando o fragmento de código a segir, qual afirmativa está incorreta. Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA A Tomando como base que esta função esvazia a Lista completamente, a linha de comando “ulti = NULL” (que contém o endereço do último registro da Lista) é desnecessária se na inclusão do primeiro registro na Lista for verificado somente a variável que indica o endereço do primeiro elemento da Lista “prim” B O objetivo principal desta função é retirar todos os elementos da Lista e liberar o espaço de memória por eles ocupados C A linha de comando “ptr = prim;” é desnecessária, pois podemos liberar espaço de memória diretamente com a variável “prim”. Ficando deste modo o comando: “free(prim->prox);” D Esta função para esvaziar a Lista, não funciona em Listas Circulares, por que o campo “prox” em Listas Circulares nunca será “NULL” E Independente se a Lista for Simplesmente Encadeada ou Duplamente Encadeada, esta função pode ser utilizada para esvaziar a Lista completamente

Soluções para a tarefa

Respondido por raqueleliude
2

Olá!

Para compreender essa questão deve-se analisar o código

] struct Dados {

char nome [30];

struct Dados *ante, *prox;

} *prim, *útil, *ptr;

] void teste () {

while (prim != NULL){

ptr = prim;

prim = prim->prox;

free(ptr);

}

ulti = NULL;

}

Analisando o código com as alternativas a incorreta é a C, pois a função é necessária para o funcionamento do código, no entanto diz que é desnecessária, e a mesma é necessária para receber os dados da prim.

Resposta é→ C) A linha de comando “ptr = prim;” é desnecessária, pois podemos liberar espaço de memória diretamente com a variável “prim”. Ficando deste modo o comando: “free(prim->prox);”

Espero ter ajudado, bons estudos.

Perguntas interessantes