[Tutorial] Ponteiros
Neste tutorial, iremos aprender:
- O que são ponteiros?
- Para que servem?
- Como declarar um Ponteiro
- Ponteiro de Ponteiro
Ponteiros
Ponteiros, conhecidos como Pointers, é uma das coisas mais importantes nas linguagens C/C++. Este tutorial utiliza o C++, porém, a lógica pode ser aplicada em ambas.
O que são Ponteiros?
São dados alocados em uma célula da memória, que pode ser lido o conteúdo desta célula ou apenas o endereço físico dela. Irá ficar mais claro quando explicarmos os operadores de referência & e *****.
Eles são os elementos de mais baixo nível em C/C++, pois eles armazenam endereços físicos da memória.
Para que Servem?
Eles servem para algumas coisas, como por exemplo:
- Utilizando Ponteiros, você pode passar argumentos por referência em uma função.
- A manipulação de dados é mais rápida do que com variáveis, digamos "normais".
- Manipular arquivos externos.
Como Declarar um Ponteiro
Operador de Referência &
Utilizando o operador &, você estará adquirindo um endereço de memória. Ou seja, futuramente você acessará o conteúdo de uma variável utilizando apenas o endereço dele. Pequeno exemplo escrito em C++.
http://www.sourcepod.com/wojpah94-4131
Operador de Referência *
Utilizando este operador, você irá ler o conteúdo de um endereço de memória, isto significa que você deve possuir um endereço de memória para depois poder ler o que está contido neste endereço. Utilizaremos o exemplo anterior e adicionar algumas linhas para demonstrar.
http://www.sourcepod.com/exoskx09-4132
Ponteiro de Ponteiro
Você pode se perguntar se posso pegar um endereço de um endereço... E a resposta é SIM. Vou demonstrar no código abaixo:
http://www.sourcepod.com/yzhkyy42-4133
Leitura Recomendada
Este tutorial está um pouco "vazio", mas é apenas de para intenção de introduzir um pouco de conteúdo. Recomendo alguns tutoriais em Inglês e Português em que vocês irão aprender muito mais sobre ponteiros.
http://www.cplusplus...orial/pointers/ -> Excelente. [inglês]
http://programacao.w...em_ponteiros.3F -> É sobre C, mas pode ser utilizado. [Português]
Discussão (1)
Carregando comentários...