Sempre que escrevemos um programa, é preciso reservar espaço para os dados que serão processados. Para isso, usamos as variáveis. Uma variável é uma posição de memória que armazena um dado que pode ser usado pelo programa. No entanto, por ser uma posição previamente reservada, uma variável deve ser declarada durante o desenvolvimento do programa. Infelizmente, nem sempre é possivel saber o quanto de memória um programa vai precisar. Para essas situações a linguagem C++ permite alocar (reservar) dinamicamente (em tempo de execução) blocos de memórias utilizando ponteiros e as funções dedicadas, como no exemplo do algoritmo apresentado a seguir. A esse processo da-se o nome de alocação dinámica. A alocação dinámica permite ao programador "criar" arrays em tempo de execução, ou seja, alocar memória para novos arrays quando o programa está sendo executado, e não apenas quando se está escrevendo o programa
#include
#include
int main()
int p
p(int*) malloc(50 sizeof(int))
ifip NULLI
printf("Erra: Memoria Insuficiente!\n")
Sobre o funcionamento do algoritmo apresentado e a alocação dinâmica de memória em linguagem C++, avalie as afirmações a seguir.
I. As funções malloc() e calloc() retornam um ponteiro NULL para indicar erro na alocação devido à falta de memória disponível no computador, ou caso ocorra algum outro erro que impeça a memória de ser alocada
II. A diferença básica entre as funções utilizadas no algoritmo para alocação de memória é que, enquanto a função malloc() multiplica o total de elementos do array pelo tamanho de cada elemento, a função calloc) recebe os dois valore como parâmetros distintos.
III. A função sizeof() auxilia no processo de alocação de memória, permitindo determinar o tamanho em bytes de variáveis ou de tipos utilizados no algoritmo, uma vez que diferentes tipos de variáveis podem ter diferentes tamanhos
É correto o que se afirma em
A I, II E III
B Ile III, apenas
C III apenas
D I e ll apenas
E I apenas
Crie uma conta e ajude outras pessoas compartilhando seu conhecimento!
Para escrever sua resposta aqui, entre ou crie uma conta
Linguagens de Programação e Estrutura de Dados
Compartilhar