Apontadores: uma pequena introdução
O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.
A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.
Infelizmente, e mais uma vez, esta semana não iremos ter vídeo porém garantimos que na próxima semana haverá. Antes de continuar, recomendamos uma breve leitura deste artigo no Pplware Kids onde explicamos a diferença entre bits e bytes.
Apontadores
Para os computadores tudo se resume a bits, ou seja, a zeros e a uns. Então, para os computadores, as diferenças que nós conhecemos entre os diversos tipos de variáveis (char, int, double/float, etc) são praticamente inexistentes.
Uma forma bastante utilizada para administrar o número enorme de 0’s e 1’s é através do endereçamento. Cada bocado da memória, cada variável, cada constante (Constante Declarada) tem o seu endereço único.
Quando uma variável é declarada é reservado, automaticamente, um espaço na memória que irá conter os valores desta mesma variável. Dentro do nosso computador existem micro-dispositivos cuja função está diretamente ligada com o endereçamento.
Os apontadores, também conhecidos por ponteiros ou pointers, são tipos de dados que serve para armazenar um endereço da memória. Apesar dos endereços de memória serem representados por números inteiros, não os confunda com o tipo de dados int.
Endereço de uma variável
Para nos referirmos ao endereço de uma variável, devemos utilizar o operador & (e comercial) antes do nome da variável. No exemplo seguinte, imprimo o endereço de memória onde está alocado o valor da variável “num” e “letra”:
#include
int main() {
int num = 4;
char letra = 'c';
printf("%p e %p", &num, &letra);
return 0;
}
Como pode ver, neste caso foi utilizado %p visto que se refere a endereços de pointers. Eu recebi os valores 0028FF1C e 0028FF1B, mas a si é provável que a função retorne outros valores. Estes valores são o endereço da memória onde estão alocadas as variáveis acima mencionadas. Cada byte da memória RAM tem o seu endereço.
Daí que, em funções como, por exemplo, a scanf, utilizemos este operador antes do nome da variável para nos referirmos ao endereço de memória da variável e assim armazenar o valor nesse local.
Esta semana não iremos recomendar exercícios pois o conteúdo de hoje não é suficiente para novos exercícios. Porém, continue a praticar! Na próxima semana iremos continuar o tema dos apontadores.
Mais uma vez, gostávamos de saber a sua opinião. Caso tenha alguma dúvida, pode sempre utilizar os comentários para colocar a questão. Caso o faça, pedimos que utilize a keyword [DUVIDA] no início do seu comentários.
Esta saga |
Henrique Dias |
|
Mais episódios: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13][12] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23][24] |