Filtrar


Questões por página:

A respeito dos tópicos de computação, nas linguagens de programação e nos sistemas operacionais Linux, julgue o item a seguir.


A seguinte função em linguagem C sempre causará um vazamento de memória, independentemente de como seja chamada:

void func() {

int *ptr = malloc(10 * sizeof(int));

}

Considere o seguinte programa escrito na linguagem C:

Imagem associada para resolução da questão

Ao executar esse programa, a saída impressa na tela é:
A organização de dados heterogêneos em registros permite que o programador crie modelos complexos que representam entidades do mundo real ou abstrações de sistema. Acerca do assunto, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)Em estruturas da linguagem C, o alinhamento de memória pode inserir bytes de preenchimento entre os campos para otimizar o acesso pela arquitetura do processador.
(__)Uma união, ao contrário de uma estrutura convencional, aloca espaço em memória suficiente para armazenar todos os seus membros simultaneamente em endereços distintos.
(__)O operador de acesso por seta é utilizado exclusivamente quando se deseja acessar o membro de uma estrutura através de um ponteiro que aponta para ela.
(__)A passagem de uma estrutura por valor para uma função evita a cópia completa de todos os seus dados internos para a pilha de execução, economizando memória.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Na linguagem C, o gerenciamento de memória e a manipulação de ponteiros exigem uma compreensão rigorosa de como os dados são organizados nos endereços de memória do sistema. Um conceito técnico específico e fundamental é a precedência entre o operador de desreferenciação e os operadores aritméticos em expressões complexas. Diante da necessidade de acessar o conteúdo de um ponteiro e incrementá-lo em uma única instrução dentro de um algoritmo, assinale a alternativa correta.
A manipulação de cadeias de caracteres em computação exige cautela quanto ao terminador nulo e ao tamanho dos vetores alocados para evitar vulnerabilidades de segurança. Considerando o tratamento de vetores de caracteres em memória, analise as afirmativas a seguir:

I.A função de cópia de strings padrão da linguagem C não verifica o limite do destino, podendo causar estouro de pilha se a origem for maior que o espaço alocado.
II.O comprimento de uma string, retornado por funções de biblioteca, contabiliza todos os caracteres visíveis e inclui obrigatoriamente o caractere terminador nulo na contagem final.
III.Em sistemas que utilizam codificação de caracteres Universal Coded Character Set Transformation Format - 8-bit (UTF-8), um único caractere pode ocupar mais de um byte de memória.

Está correto o que se afirma em: