TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Ponteiros

Seminário: Ponteiros. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  21/8/2014  •  Seminário  •  639 Palavras (3 Páginas)  •  208 Visualizações

Página 1 de 3

Ponteiro

Um ponteiro é simplesmente uma variável que armazena o endereço de outra variável.

Por exemplo O que é o ponteiro de um relógio?

É o que aponta para as horas, minutos ou segundos. Um ponteiro aponta para algo. Em programação, temos as variáveis armazenadas na memória, e um ponteiro aponta para um endereço de memória.

Imagine as variáveis como documentos, a memória do computador como pastas para guardar os documentos, e o ponteiro como atalhos para as pastas.

Declarando e acessando ponteiro

Na declaração de ponteiro, como em qualquer declaração de variável, temos que colocar o tipo da variável que o ponteiro ira apontar. Então na declaração, especificamos o tipo da variável para qual ele aponta e seu nome precedido por asterisco:

Int ponteiro; /* declara uma variável comum do tipo inteiro */

Int *ponteiro; /* declara um ponteiro para um inteiro */

Temos que ter cuidado ao declarar vários ponteiros em uma linha, pois o asterisco devem vir antes de cada nome de variável. Note os três exemplos:

Int p, q, r; // estamos a declara três variáveis comuns

Int *p, q, r; // apenas o p será ponteiro

Int *p, *q, *r; // três ponteiros

Para acessar o endereço de uma variável, utilizamos o operador & (E comercial), chamado "operador de referência" ou "operador de endereço". Como o nome sugere, ele retorna o endereço na memória de seu operando. Ele é unário e deve ser escrito antes do seu operando. Por exemplo, se uma variável nome foi guardada no endereço de memória 1000, a expressão &nome valerá 1000.

Para atribuir um valor ao ponteiro, usamos apenas seu nome de variável. Esse valor deve ser um endereço de memória, portanto obtido com o operador &:

Int a;

Int *p;

P = &a;

Claro que também podemos inicializar um ponteiro:

Int *p = &a;

Nos dois casos, o ponteiro p irá apontar para a variável a.

Mas, como o ponteiro contém um endereço, podemos também atribuir um valor à variável guardada nesse endereço, ou seja, à variável apontada pelo ponteiro. Para isso, usamos o operador * (asterisco), que basicamente significa "o valor apontado por".

Ex:

Int a;

Int *p = &a;

*p = 20;

Para ver o resultado:

Printf (“ a :%i\n”,a);

Printf (“*p :%i\n”,*p);

Ponteiro e NULL

Uma falha de segmentação ou em inglês (segmentation fault) ocorre quando um programa tenta acessar um endereço na memória que

...

Baixar como (para membros premium)  txt (3.6 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com