Exercícios Resolvidos de Manipulando ponteiros: ponteiros duplos, aritmética e vetores
Ver TeoriaEnunciado
Suponha que os elementos do vetor são do tipo e cada ocupa no seu computador. Se o endereço de é , qual o valor da expressão
Passo 1
E aí pessoal, tudo bem? Vamos para mais uma questão sobre manipulação de ponteiros.
Pra resolver essa questão a gente precisa ter em mente duas coisas: a relação entre ponteiros e vetores e também o funcionamento da aritmética de ponteiros.
Precisamos lembrar que um vetor pode ser tratado como um ponteiro! Quando utilizamos um vetor sem os colchetes nós temos um ponteiro para a primeira posição do vetor. Seguindo essa lógica, quando fazemos uma soma do tipo podemos tratar isso como uma aritmética de ponteiros.
Sobre a aritmética de ponteiros precisamos lembrar que: quando somamos um ponteiro com um inteiro, a soma é proporcional a quantidade de bytes do tipo do ponteiro. Então, no nosso caso, somar ao ponteiro é equivalente a somar no endereço de memória.
Passo 2
Certo, então agora vamos efetuar os nossos cálculos.
O endereço de memória de pode ser obtido simplesmente chamando o vetor sem os colchetes assim: . Porém, se a gente quiser obter este endereço de memória através de aritmética de ponteiros podemos expressar da seguinte maneira: .
De forma análoga, para obter o endereço de memória de podemos fazer . Porém, ao somar unidade ao ponteiro, nós adicionamos ao endereço de memória:
E podemos ampliar este raciocínio para todas as outras posições do vetor. Ao adicionar unidades ao ponteiro, é equivalente a adicionar ao endereço de memória
E por fim, adicionando unidades ao ponteiro, o resultado é adicionar no endereço de memória.
Resposta
O endereço de é