Responda, sucintamente, às seguintes questões:
2.1Qual o operador que nos permite obter o endereço de uma variável?
2.2Qual o caractere que se coloca na declaração de uma variável para indicar que é um ponteiro?
2.3Onde se coloca esse caractere?
2.4O que contém uma variável do tipo ponteiro?
2.5Qual o símbolo que podemos colocar em um ponteiro para indicar que ele não aponta para nada?
2.6Como se designa e qual o aspecto do operador que permite saber o que se encontra na posição de memória armazenada em um ponteiro?
2.7Se ptr for um ponteiro, qual o valor de *(&ptr)?
2.8Indique duas formas de se obter o elemento inicial do vetor v.
2.9Por que razão podemos utilizar ponteiros para percorrer os vetores existentes em memória?
2.10Como declaramos uma variável que tenha a capacidade de conter o endereço de um ponteiro para float?
Passo 1
Fala aí! Essa aqui é bem conceitual, só pra saber se você tá manjando no geral de ponteiros. Vou dividir entre os passos as que são mais ou menos relacionadas. Bora lá.
(2.1) O operador que nos obter o endereço de uma variável é o caractere &, que significa basicamente “endereço de”. Assim, quando escrevemos &s[0], por exemplo, nos referimos ao endereço do valor armazenado na posição 0.
Passo 2
(2.2) O caractere * é utilizado na declaração de uma variável para indicar que se trata de um ponteiro. (2.3) Ele é posicionado entre o tipo e o nome da variável declarada, por exemplo: char * ptr.
Passo 3
(2.4) Isso aqui é importante: um ponteiro contém a informação de um endereço e não diretamente o valor de uma variável. (2.5) Se quisermos declarar um ponteiro que inicialmente aponta para nada, basta o fazermos apontar para NULL, tal como: int * ptr = NULL;
Passo 4
(2.6) O operador *, referido como “apontado por” nos permite saber o que se encontra na posição apontada pelo ponteiro. (2.7) Quando escrevemos *(&ptr) estamos combinando os operadores “apontado por” e “endereço de” para escrever “apontado pelo endereço de ptr”, e o valor retornado é o próprio ptr.
(2.8) Para nos referirmos à posição 0 de v, podemos usar as seguintes notações: v[0] ou *v.
Passo 5
(2.9) Ponteiros podem ser utilizados para percorrer vetores porque os elementos desses caras sempre ocupam posições contíguas ou sequenciais de memória.
(2.10) Uma variável capaz de conter o endereço de um ponteiro para float, nada mais é que um ponteiro para ponteiro para float. A notação utilizada é a seguinte: float ** var;
Resposta
2.1O operador &.
2.2O caractere *.
2.3Entre o tipo e o nome da variável declarada.
2.4Um endereço.
2.5ptr = NULL.
2.6O operador *, designado por “apontado por”.
2.7O valor é o próprio ptr.
2.8v[0] ou *v.
2.9Porque os elementos de vetores sempre ocupam posições contíguas de memória.
2.10float **var;