Indique se as seguintes sentenças são falsas ou verdadeiras. Se a resposta for falsa, explique.
a) O operador de endereço (&) pode ser aplicado somente a constantes, a expressões e a variáveis declaradas com a classe de armazenamento register.
b) Um ponteiro que é declarado como void pode ser desreferenciado.
c) Ponteiros de diferentes tipos podem ser atribuídos uns aos outros sem uma operação de coerção (cast).
Passo 1
Fala aí, blz?
Hoje vamos resolver mais um probleminha.
Inicialmente, o operador de endereço (&) retorna um endereço de uma variável, logo ele pode ser aplicado a apenas variáveis e não a constantes, expressões e a variáveis declaradas com a classe de armazenamento register. Dessa forma, a letra a é falsa.
Passo 2
Continuando…
Desreferenciar na linguagem de ponteiros significa poder ler o conteúdo armazenado na posição de memória “apontada” pelo ponteiro. Levando em consideração que ponteiros do tipo void podem se referenciar a qualquer endereço de memória independente do seu tipo. Logo, destaca - se que os ponteiros void não podem ser desreferenciados , uma vez que não há como saber quantos bytes de memória devem ser desreferenciados. Portanto, a letra b também é falsa.
Passo 3
E vamos de última letra.
Na verdade, um ponteiro pode ser atribuído ao outro se ambos forem do mesmo tipo. Porém quando se trata de um ponteiro do tipo void rola uma exceção. Já que todos os tipos de ponteiros podem receber um ponteiro void, e além disso esse também pode receber um ponteiro de qualquer tipo sem que seja necessário uma operação de coerção. Dessa maneira, a letra c também é falsa.
Bons Estudos ! :)
Resposta
- Falsa. O operador (&) pode ser aplicado somente a variáveis, e não a constantes, expressões ou a variáveis declaradas com a classe de armazenamento register.
- Falsa. Ponteiros do tipo void não podem ser desreferenciados, uma vez que não se sabe a quantidade de memória que deve ser desreferenciada.
- Falsa. Apenas ponteiros do tipo void podem receber ou serem recebidos por ponteiros de outros tipos sem que haja a necessidade da operação de coerção.