Conteúdo do Curso
Noções Básicas de C
Noções Básicas de C
Referências e desrefêrencias
Os ponteiros são construídos em torno de dois operadores:
- O operador de endereço
&
- O operador de desreferência
*
Operador de endereço
O operador de endereço, representado por &
, nos permite interagir diretamente com a RAM do nosso computador. Usando &
, você pode obter o endereço de memória real de um objeto.
Main
Nota
%p
é o especificador de formato usado para endereços (ponteiro).
Endereços são normalmente expressos em notação hexadecimal.
Pense no operador &
como se estivesse identificando o endereço da sua casa usando o seu nome.
Operador de desreferência
Inversamente, o operador *
fornece o nome do residente quando lhe é dado o seu endereço. Então, como podemos utilizar esse operador se não estamos lidando diretamente com endereços? Se você tem uma expressão como &x
, que retorna o endereço da variável x
, aplicar o operador *
a ela (*&x
) te dará o valor da variável armazenado naquele endereço.
Nota
Essencialmente,
*&x
é o mesmo quex
.
Main
Nota
Não confunda o operador de desreferência (
*x
) com o operador de multiplicação (x*y
).
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tudo estava claro?
Referências e desrefêrencias
Os ponteiros são construídos em torno de dois operadores:
- O operador de endereço
&
- O operador de desreferência
*
Operador de endereço
O operador de endereço, representado por &
, nos permite interagir diretamente com a RAM do nosso computador. Usando &
, você pode obter o endereço de memória real de um objeto.
Main
Nota
%p
é o especificador de formato usado para endereços (ponteiro).
Endereços são normalmente expressos em notação hexadecimal.
Pense no operador &
como se estivesse identificando o endereço da sua casa usando o seu nome.
Operador de desreferência
Inversamente, o operador *
fornece o nome do residente quando lhe é dado o seu endereço. Então, como podemos utilizar esse operador se não estamos lidando diretamente com endereços? Se você tem uma expressão como &x
, que retorna o endereço da variável x
, aplicar o operador *
a ela (*&x
) te dará o valor da variável armazenado naquele endereço.
Nota
Essencialmente,
*&x
é o mesmo quex
.
Main
Nota
Não confunda o operador de desreferência (
*x
) com o operador de multiplicação (x*y
).
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tudo estava claro?
Referências e desrefêrencias
Os ponteiros são construídos em torno de dois operadores:
- O operador de endereço
&
- O operador de desreferência
*
Operador de endereço
O operador de endereço, representado por &
, nos permite interagir diretamente com a RAM do nosso computador. Usando &
, você pode obter o endereço de memória real de um objeto.
Main
Nota
%p
é o especificador de formato usado para endereços (ponteiro).
Endereços são normalmente expressos em notação hexadecimal.
Pense no operador &
como se estivesse identificando o endereço da sua casa usando o seu nome.
Operador de desreferência
Inversamente, o operador *
fornece o nome do residente quando lhe é dado o seu endereço. Então, como podemos utilizar esse operador se não estamos lidando diretamente com endereços? Se você tem uma expressão como &x
, que retorna o endereço da variável x
, aplicar o operador *
a ela (*&x
) te dará o valor da variável armazenado naquele endereço.
Nota
Essencialmente,
*&x
é o mesmo quex
.
Main
Nota
Não confunda o operador de desreferência (
*x
) com o operador de multiplicação (x*y
).
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.
Tudo estava claro?
Os ponteiros são construídos em torno de dois operadores:
- O operador de endereço
&
- O operador de desreferência
*
Operador de endereço
O operador de endereço, representado por &
, nos permite interagir diretamente com a RAM do nosso computador. Usando &
, você pode obter o endereço de memória real de um objeto.
Main
Nota
%p
é o especificador de formato usado para endereços (ponteiro).
Endereços são normalmente expressos em notação hexadecimal.
Pense no operador &
como se estivesse identificando o endereço da sua casa usando o seu nome.
Operador de desreferência
Inversamente, o operador *
fornece o nome do residente quando lhe é dado o seu endereço. Então, como podemos utilizar esse operador se não estamos lidando diretamente com endereços? Se você tem uma expressão como &x
, que retorna o endereço da variável x
, aplicar o operador *
a ela (*&x
) te dará o valor da variável armazenado naquele endereço.
Nota
Essencialmente,
*&x
é o mesmo quex
.
Main
Nota
Não confunda o operador de desreferência (
*x
) com o operador de multiplicação (x*y
).
Tarefa
- Crie um array de inteiros com 5 elementos e preencha-o.
- Recupere o endereço do terceiro elemento.
- Incremente o endereço do terceiro elemento (ou seja, endereço + 1).
- Tente desreferenciar o endereço obtido no passo anterior.