• Matéria: Informática
  • Autor: MagnoFnx
  • Perguntado 8 anos atrás

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: jvsilvictorox7rfj
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