Pages

Questão EPO - Alocação Dinâmica

O seguinte trecho de código cria um vetor de números inteiros com 10 elementos:

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

Qual o significado da declaração int * v e v = (int * )malloc(10*sizeof(int)); :

a) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que passa a armazenar o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros.

b) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que passa a ser uma varíavel global ;

b) O Comando v = (int * ) malloc(10*sizeof(int)); armazena o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros e a declaração de variável int * v reserva espaço de memória da área livre para a alocação da variável.

c) O Comando v = (int * ) malloc(10*sizeof(int)); armazena o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros e a declaração de variável int * v podendo ser tratado como um vetor declarado estaticamente

d) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que responde com um mensagem de tratamento printf v==NULL

e) N.D.A.

Fonte:
http://www.tecgraf.puc-rio.br/~mgattass/ed/material/ApresentacoesEmPDF/ed05-Vetores.pdf

Waldemar Celes, Renato Cerqueira, José Lucas Rangel,
Introdução a Estruturas de Dados, Editora Campus
(2004)
Capítulo 5 – Vetores e alocação dinâmica

2 comentários:

Anônimo disse...

Resposta Correta: letra a
A instrução "int= *v" cria uma variável vque passa a abrigar um endereço que passa a ser definido pela linha de código seguinte, "v = (int * ) malloc(10*sizeof(int));", ou seja, o ponteiro v passa a apontar para o endereço inicial de um espaço de memória que irá conter 10 valores inteiros.

Anônimo disse...

Amigo, a sua questão tem duas "b"... O.o'

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint