Ponteiros para que?

2 respostas
willian_silva_ads1

Para que serve os ponteiros além de apenas guardar endereços de memória?

2 Respostas

andrebmarinho

Imagine você precisando achar uma informação em um livro, o que você faz? Naturalmente você vai no índice, buscar o numero da pagina (ponteiro) e vai na pagina pegar a informação. Em computação é a mesma coisa, imagine agora todos os sistemas de informática e toda vez que você precisa achar uma informação, ali de uma forma ou de outra vai estar usando algum tipo de ponteiro.

TerraSkilll

Servem “só” pra isso.

Mas não acho que sua pergunta é só essa. Sua pergunta é mais “quais as vantagens de se usar ponteiros e trabalhar com endereços de memória”. Do jeito que sua pergunta está, poderíamos perguntar a mesma coisa sobre qualquer outro tipo (“pra que serve uma variável do tipo inteiro, é só pra guardar números inteiros?”).

A principal vantagem dos ponteiros, assim como qualquer outro tipo, é o que se pode fazer com eles. No caso de ponteiros, um exemplo simples é: imagine que você carrega um arquivo xml de 200 MB na memória, e precisa que diferentes funções acessem esse arquivo. Ao invés de passar o conteúdo inteiro do arquivo para cada função (aumentando o consumo de processamento e de memória), você passa o endereço de memória onde o arquivo está, e cada função opera sobre a mesma cópia do arquivo. Isso economiza memória e processamento.

Linguagens gerenciadas como Java e C# fazem isso “por baixo dos panos”, então você sempre está passando endereços dos objetos, ao invés de cópias inteiras deles. Por isso não precisam de um tipo ponteiro, já que tudo é ponteiro.

Fora que ponteiros permitem certas operações, como aritmética de ponteiros, que torna trivial a implementação de certas estruturas de dados (como listas).

Abraço.

Criado 24 de dezembro de 2017
Ultima resposta 25 de dez. de 2017
Respostas 2
Participantes 3