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
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
Matemática,
9 meses atrás
Geografia,
9 meses atrás
Matemática,
9 meses atrás
Ed. Técnica,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás