Ponteiros
1- PONTEIROS
Da mesma maneira que existem em C variáveis do tipo char, int e float, existem variáveis do tipo ponteiro. É uma das mais poderosas estruturas oferecidas pela linguagem C. Um ponteiro proporciona um modo de acesso às variáveis sem referenciá-las diretamente. O mecanismo usado para isto é o endereço da variável, sendo o ponteiro a representação simbólica de um endereço, ou seja, é um tipo de variável que armazena endereço de memória. Uso de Ponteiros • permitem a modificação de argumentos de funções: permitem que uma função altere valores de variáveis não globais e não locais a ela através da referência ao endereço de memória da variável passada como parâmetro para a função; permitem o uso de rotinas de alocação dinâmica de memória: alocação e desalocação de memória do sistema em tempo de execução conforme a necessidade do programa; permitem a criação de estruturas de dados complexas, como listas encadeadas e árvores binárias, onde um item deve conter referências a outro; aumento de eficiência em determinadas rotinas.
• • •
A memória do computador é dividida em bytes, e estes bytes são numerados de 0 até o limite da memória da máquina. Estes números são chamados endereços de bytes. Um endereço é a referência que o computador usa para localizar variáveis. Toda variável ocupa certa localização na memória, e seu endereço é o do primeiro byte ocupado por ela. Cada tipo de dado ocupa uma quantidade de bytes na memória, por exemplo, um tipo char ocupa 1 byte e um tipo float ocupa 4 bytes.
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 ...
char sexo;
Variáveis do tipo char, que armazenam caracteres, ocupam 1 byte
int idade;
Variáveis do tipo int, que armazenam números inteiros, ocupam 4 bytes
float preco;
Variáveis do tipo float, que armazenam números com vírgulas, ocupam 4 bytes
char uf[2];
Como cada char ocupa 1 byte, os vetores de caracteres