O programa a seguir cria um vetor dinâmico em que o seu tamanho é definido pelo valor da variável tam e o vetor é preenchido com valores sequenciais, de acordo com o índice do vetor:
#include
#include
#include
main() {
int tam;
int *vetor;
printf (“Escolha o tamanho do vetor: “);
scanf(“%d”, &tam);
vetor = ______________________;
for (int i = 0; i < tam; i++) {
vetor[i] = i;
printf (“Posicao %d: %d\n”, i, vetor[i]);
}
system(“Pause”);
return(0);
}
Assinale a alternativa que contenha a instrução que se adequa ao preenchimento da respectiva lacuna no algoritmo:
Alternativas
Alternativa 1:
(int) malloc(sizeof (int)*tam);
Alternativa 2:
(int *) malloc(sizeof (int) tam);
Alternativa 3:
(int) malloc(sizeof (int)*tam);
Alternativa 4:
(int *) malloc(sizeof (int)*tam);
Alternativa 5:
(int) malloc(sizeof (int) tam);
Respostas
respondido por:
7
1) A variável é um ponteiro do tipo int, portanto o comando deve iniciar com :
(int *)
2) para fazer a alocação de memória, usamos o comando malloc, então temos até agora:
(int *) malloc(?)
3) O parâmetro do comando malloc é o tamanho em bytes a ser alocado. Como o vetor deve ter o tamanho "tam" e cada posição é um inteiro, temos que multiplicar o "tam" pelo tamanho de cada inteiro:
(int *) malloc(tam * sizeof(int))
>>REPOSTA:
Alternativa 4:
(int *) malloc(sizeof (int)*tam);
Perguntas similares
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás