ATPS PROGRAMA O ESTRUTURADA ETAPA 3 PASSO 1 INDIVIDUAL
ETAPA 03
PASSO – 1 INDIVIDUAL
Ponteiros
Uma das mais poderosas características oferecidas pela linguagem C, ponteiro proporciona um modo de acesso a variáveis sem referenciá-las diretamente, é uma representação simbólica de um endereço.
Ponteiros são usados nas seguintes situações:
» Fornecer maneiras com as quais as funções podem realmente modificar os argumentos que recebem;
» Passar matrizes e “strings” mais convenientemente de uma função para outra; » Criar estruturas de dados complexas, como listas encadeadas e árvores binárias.
» Para comunicar informações sobre memória, como na função malloc() que retorna a localização de memória livre através do uso de ponteiro.
Declarando Variável Ponteiro.
Você já sabe como declarar variáveis de tipos básicos como int , float , etc ; Declaração de ponteiros tem um sentido diferente da de uma variável simples : » int *px , *py; - Declara que *px e *py são do tipo int e que px e py são ponteiros , isto é , px e py contém endereços de variáveis do tipo int.
Para cada nome de variável (neste caso px e py ), a declaração motiva o compilador a reservar dois bytes de memória onde os endereços serão armazenados, além disso , o compiladores deve estar ciente do tipo de variável armazenada naqueles endereços; neste caso inteiros .
O programa chamador a seguir ( main ) em vez de passar valores para a função , passa seus endereços, Estes endereços são onde o programa chamador quer que a função coloque os dados gerados; em outras palavras são endereços de variáveis do programa chamador onde nós queremos armazenar os novos valores .
void altera(int *px, int *py) {
*px = 3;
*py = 5; } main() { int x, y; altera(&x, &y); printf(“O primeiro e %d, o segundo e %d.”,x,y); }
Uma vez conhecidos pela função, os endereços e os tipos das variáveis do programa chamador, ela pode não somente colocar valores nestas variáveis como também alterá-las, - Ponteiros podem ser usados não somente para que a função passe valores