Logo Passei Direto
Buscar
Questão 2 I LINGUAGEM DE PROGRAMACAO Em uma aplicação que gerencia uma fila de impressão, a memória para cada trabalho de impressão é alocada dinamicamente. As funções de alocação de memória, como malloc(), podem falhar se não houver memória suficiente disponível no sistema (no heap). Um código robusto deve sempre verificar 0 resultado da alocação para evitar erros em tempo de execução, como tentar acessar um endereço de memória inválido. 0 que as funções de alocação de memória, como malloc(), retornam caso a quantidade de memória solicitada não possa ser alocada, e por que é fundamental validar esse retorno? A Retornam um ponteiro para o início da memória alocada, e não é necessário validar. B Retornam o valor -1, e a validação serve para otimizar o código. C Retornam o valor 0 (zero) e a validação é opcional. D Retornam NULL, e é crucial validar para garantir que O ponteiro retornado seja válido antes de usá-lo. E Geram um erro de compilação, impedindo O programa de rodar.
User badge image
Robson Fernando

há 2 semanas

Respostas

User badge image

Ed Verified user icon

há 2 semanas

Vamos analisar as alternativas apresentadas em relação ao funcionamento da função `malloc()` em C, que é usada para alocação dinâmica de memória. A função `malloc()` retorna um ponteiro para o início da memória alocada. Se a alocação falhar (ou seja, se não houver memória suficiente disponível), `malloc()` retorna um ponteiro nulo (NULL). Portanto, é fundamental validar esse retorno para garantir que o ponteiro seja válido antes de usá-lo, evitando assim erros em tempo de execução. Agora, analisando as alternativas: A) Retornam um ponteiro para o início da memória alocada, e não é necessário validar. - Incorreto, pois é necessário validar o retorno. B) Retornam o valor -1, e a validação serve para otimizar o código. - Incorreto, `malloc()` não retorna -1. C) Retornam o valor 0 (zero) e a validação é opcional. - Incorreto, `malloc()` retorna NULL em caso de falha, não 0. D) Retornam NULL, e é crucial validar para garantir que o ponteiro retornado seja válido antes de usá-lo. - Correto, essa é a definição correta do comportamento de `malloc()`. E) Geram um erro de compilação, impedindo o programa de rodar. - Incorreto, `malloc()` não gera erro de compilação. Portanto, a alternativa correta é: D) Retornam NULL, e é crucial validar para garantir que o ponteiro retornado seja válido antes de usá-lo.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina