Seria possível alguém descrever de modo mais simplificado o que são os ponteiros? Fiquei um pouco em dúvida se entendi ou não.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Seria possível alguém descrever de modo mais simplificado o que são os ponteiros? Fiquei um pouco em dúvida se entendi ou não.
Todos os dados inseridos em um programa devem ser alocados para algum lugar na memória do computador, é lá que esses valores são acessados e armazenados. Porém os dados não são armazenados ou acessados magicamente, como se a mémoria fosse uma caixa mágica. Então todo espaço na mémoria possui um endereço, como se fosse uma cidade com várias casas, prédios e ruas, podemos ir para qualquer lugar da cidade pois definimos endereços para todos esse lugares, é o mesmo para os dados que são informações físicas, podemos considerar pessoas e carros como um fluxo de dados indo e vindo desses endereços. Mas aí que está, o que seria o ponteiro neste contexto? É a variável capaz de armazenar um endereço de memória ou o endereço de outra variável, veja o exemplo a seguir:
Temos um ponteiro apontando para o endereço de uma variável, a variável é 'x' com o valor de 5 atribuído a ela, então o ponteiro está fazendo uma referência a tal endereço, logo está acessando o dado localizado neste endereço, '70043573' com valor '5'. Ponteiros servem justamente para isso, apontar ou acessar endereços na mémoria, são bastante utilizados em linguagens de programação compiladas e de baixo nível como C e C++. No fundo as variáveis servem apenas como açucar sintático do endereço na mémoria, assim como guardamos dados em nossos celulares o tempo todo como números de telefone, mas podemos apenas se referir ao número como 'Flávio' ou 'Mãe', há sempre o número deles atríbuido a esses nomes, ou seus endereços, fazendo uma analogia as variáveis.
Espero que você tenha entendido o que é, mas nem se preocupe em se aprofundar nisso agora pois é um tema que deve ser estudado junto com uma linguagem de programação de baixo nível para facilitar o entendimento, por hora apenas entenda a essência da mémoria de um computador, e após compreender que existem esses endereços e a mémoria não funciona de uma forma mágica, o ponteiro é algo que pode acessar/apontar para esses endereços.
Ah, ficou mais claro sim! Muito obrigada!