Pages

Questão EPO - Ponteiro

Utilizando a aritmética de ponteiros:

main ()
    {
        int *ponteiro, vetor_inteiros[4] = {0, 10, 20, 30};
        ponteiro = &vetor_inteiros[0];
        ponteiro+= 2;
        printf(“Valor apontado: %d \n”, *ponteiro);
        ...
    }

É correto afirmar:

a) O conteúdo do ponteiro é 20.
b) O ponteiro possui 4 posições.
c) O conteúdo apontado pelo ponteiro é o endereço do vetor pulando 2 endereços desde a primeira posição do vetor.
d) O compilador C reconhece o tipo do ponteiro e salta uma quantidade em bytes equivalente ao tipo int, seguindo a soma realizada no programa.
e) nda

Fonte: http://hermes.ucs.br/carvi/cent/dpei/snsoares/ELE0219/Textos/a05ex05.pdf

3 comentários:

Anônimo disse...

Resposta: D

Anônimo disse...

Resposta: D.
O conteúdo do ponteiro é o endereço de memória da variável que ele aponta e não 20, este número é o conteúdo apontado pelo ponteiro, ou seja, as alternativas "a" e "c" estão trocadas nesse sentido. A "b" está errada pois o ponteiro só está apontando um índice do vetor, o vetor possui 4 posições, mas o ponteiro não.

Anônimo disse...

Explicando melhor:



O conteúdo do ponteiro é o endereço de memória do vetor ("A" errada).



O conteúdo apontado pelo ponteiro é 20 ("C" errada).



O ponteiro só tem 1 posição e o vetor tem 4 posições ("B" errada).

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint