Definicao Ponteiros

902 palavras 4 páginas
Capitulo 3 - Ponteiros
Um ponteiro (= apontador = pointer) é um tipo especial de variável que armazena endereços. Um ponteiro pode ter o valor especial NULL que não é endereço de lugar algum. A constante NULL está definida no arquivo-interface stdlib e seu valor é 0 na maioria dos computadores.
Se um ponteiro p armazena o endereço de uma variável i, podemos dizer p aponta para i ou p é o endereço de i. Se um ponteiro p tem valor diferente de NULL então, *p é o valor do objeto apontado por p. (Não confunda esse uso de * com o operador de multiplicação!) Por exemplo, se i é uma variável e p é igual a &i então dizer *p é o mesmo que dizer i.
Há vários tipos de ponteiros: ponteiros para caracteres, ponteiros para inteiros, ponteiros para ponteiros para inteiros, ponteiros pararegistros etc. O computador faz questão de saber de que tipo de ponteiro você está falando. Para declarar um ponteiro p para um inteiro, diga int *p;
Para declarar um ponteiro p para um registro cel, diga struct cel *p;
Um ponteiro r para um ponteiro que apontará um inteiro é declarado assim: int **r;
Exemplos
Suponha que a, b e c são variáveis inteiras. Então c = a+b: int *p; /* p é um ponteiro para um inteiro */ int *q; p = &a; /* o valor de p é o endereço de a */ q = &b; /* q aponta para b */ c = *p + *q;

Outro exemplo: int *p; int **r; /* r é um ponteiro para um ponteiro para um inteiro */ p = &a; /* p aponta para a */ r = &p; /* r aponta para p e *r aponta para a */ c = **r + b;
Aplicação
Suponha que precisamos de uma função que troque os valores de duas variáveis inteiras, digamos i e j. É claro que a função: void troca( int i, int j) /* errado! */
{
int temp; temp = i; i = j; j = temp;
}
Não produz o efeito desejado, pois recebe apenas os valores das variáveis e não as variáveis propriamente ditas. A função recebe cópias das variáveis e troca os valores dessas cópias, enquanto as variáveis originais permanecem

Relacionados

  • Estrutura de dados
    3285 palavras | 14 páginas
  • Resumo Estrutura de Dados
    3758 palavras | 16 páginas
  • Desenvolvimento de Sistemas de Informação I
    537 palavras | 3 páginas
  • Linguagem c
    3257 palavras | 14 páginas
  • Cartas
    7066 palavras | 29 páginas
  • leo2014
    1161 palavras | 5 páginas
  • Molas
    799 palavras | 4 páginas
  • Manual Relogio Casio
    6238 palavras | 25 páginas
  • sadasdas
    1421 palavras | 6 páginas
  • Ponteiros
    2655 palavras | 11 páginas