Buscar

Texto Complementar 07 CONCEITOS DE PROGRAMAÇÃO PONTEIROS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Disciplina: 
Estruturas de Dados 
Texto Complementar 
CONCEITOS DE PROGRAMAÇÃO: PONTEIROS 
 
 
- Objetivo desta leitura 
Proporcionar ao aluno uma visão mais abrangente sobre a importância das Estruturas de Dados. 
 
- Com isso você será capaz de (habilidades desenvolvidas): 
Através da presente leitura complementar, o aluno irá aprofundar seus conhecimentos em relação as Estruturas 
de Dados por meio da interpretação das informações e analise dos conteúdos e refletir sobre os resultados obtidos com 
a leitura. 
 
CONCEITOS DE PROGRAMAÇÃO: PONTEIROS 
 
 
Autor: DAN_ATILIO 
 
 
Hoje irei falar de um conceito que muitos iniciantes em programação tem dúvidas, que é o conceito 
de Ponteiros (muito utilizado em linguagem c / c++). 
Em várias linguagens de programação, existem vários tipos de variáveis, as mais comuns são 
numéricas (int, double, float, etc), texto (char, string, etc) e lógicas (boolean – true {verdadeiro}, 
false {falso}), dentre outros tipos (como Data, void, etc), porém há um tipo único de variável, uma 
variável que utiliza apontamentos na memória RAM, para otimização do programa, essa variável, é 
um ponteiro. 
Mas como funciona? Simples, eu tenho uma variável, numérica por exemplo (int), com o valor 8, 
automaticamente quando eu crio essa variável, ela é alocada na memória RAM, que 
automaticamente ‘dá’ um endereço para essa variável, por exemplo, em 1 GB de RAM, pode haver 
milhares de endereços de variáveis, então, essa variável que criamos tem o endereço 1248. 
Quando eu crio um ponteiro, basta eu apontar para essa variável, que eu consigo manipular essas 
informações. 
 
 
 
 
 
 
Portanto, para se usar um Ponteiro, basta declarar uma variável com um * antes do nome, quer 
dizer que essa variável irá fazer referência a endereços de memória, após isso, para pegar o 
endereço de memória de uma variável através de uma variável ponteiro, basta usar o &, agora se 
for pegar o valor real da variável, deve-se usar o *. No exemplo acima, vemos a criação da variável 
nValor valendo 10, e da variável nPonteiro, apontando para o nValor, basicamente ele só faz o 
direcionamento para esse dado. 
Mas muitos se perguntam, com o desempenho dos micros atuais, qual o objetivo de Ponteiros? 
Simplesmente otimizar o programa e melhorar a segurança e qualidade nos dados, por exemplo, 
vamos supor que você está montando um sistema complexo de compras, no qual o usuário faz o 
cadastro de informações como e-Mail, então quando ele faz login, quando ele deseja comprar algo, 
quando ele quer mudar algo no sistema, sempre serão criadas variáveis para armazenar o e-Mail 
dele? Errado, nem mesmo variáveis globais (públicas), o ideal é criar um ponteiro que irá ficar na 
memória RAM, apenas para fazer o direcionamento, dessa forma, a variável só será criada uma 
vez, e o ponteiro que fará o controle de acesso a essa informação. 
Ou seja, somente na primeira vez que o login for efetuado com sucesso, será armazenado as 
variáveis, depois disso, qualquer página ou módulo que o usuário acessar, é mais viável usar um 
ponteiro para manipular os valores. 
Esse conceito é muito usado em Sistemas operacionais, por exemplo, não sei se já perceberam, 
mas se você selecionar uma parte do texto no Bloco de Notas e dar Ctrl+C (Copiar), você pode 
colar em qualquer programa que use edição de texto (como no Word), mas ao fechar o bloco de 
notas, esse mesmo texto copiado fica registrado na memória RAM, e quando você pressiona o 
Ctrl+V (Colar), o ponteiro apenas aponta para o local que esta armazenado a cópia. 
Abaixo um exemplo de uso de ponteiro na Linguagem C: 
 
 
//Bibliotecas 
#include <stdio.h> 
//#include <gconio.h> //linux, leia http://terminaldeinformacao.com/2012/08/25/programacao-gcc-
gconio-h/ 
//#include <conio.h> //windows 
 
//Funções complementares 
void mostraPoInt(int *pInt); 
 
//Função Principal 
main(){ 
 //Declarando Variáveis 
 int nVal1, *pVal1; 
 nVal1=10; 
 //Fazendo o apontamento 
 pVal1=&nVal1; 
 //Mostrando dados do Ponteiro 
 mostraPoInt(pVal1); 
 getch(); 
} 
 
void mostraPoInt(int *pInt){ 
 printf("\n--Dados do Ponteiro--"); 
 printf("\nEndereço: %d", &pInt); 
 printf("\nValor: %d",*pInt); 
 printf("\nTamanho (bytes): %d\n\n",sizeof(*pInt)); 
} 
 
 
Bom pessoal, por hoje é só. 
Abraços e até a próxima. 
 
 
Link: < http://terminaldeinformacao.com/2013/03/04/conceitos-de-programacao-ponteiros/> Acesso 
em: 01 jan. 2016.

Outros materiais