O problema com representação das estruturas de dados que não são lineares. Nós necessitamos alguma maneira traçar estas estruturas de dados à memória linear do computador. Uma solução a esta, é usar ponteiros. Os ponteiros são as posições de memória que são armazenadas nas pilhas de memória. Usar um ponteiro, prendendo um endereço de memória melhor que pelos dados uma pilha de memória pode apontar a uma outra pilha de memória.
A pilha de memória no endereço 2003 contem um ponteiro o endereço de uma outra pilha, que pode ser visto na figura acima. Aqui o ponteiro está apontando à pilha de memória 2005 que contem a letra C. Isto significa aquele, nós tem duas maneiras de alcançar a letra C. Nós podemos consultar à pilha de memória que contem o valor C diretamente ou nós podemos usar o ponteiro consultar-lhe indiretamente. O processo de alcançar os dados através dos ponteiros é sabido como a ação indireta. Usando ponteiros, nós podemos também criar níveis de ação indireta múltiplos.
Os ponteiros podem tornar-se muito complexos e difíceis de usar-se tendo muitos níveis de ação indireta. Quando usada ponteiros incorretamente, pode fazer estruturas de dados muito difíceis de compreender. O tradeoff entre a complexidade e a flexibilidade deve ser considera sempre que você usa ponteiros em construir estruturas de dados.
A idéia dos ponteiros e da ação indireta não é exclusiva à memória de computador. Os ponteiros aparecem em muitos aspectos diferentes do uso de computador. Os Hyperlinks nos Web pages são ponteiros bons de um exemplo. Isto liga é realmente os ponteiros ao outro Web page. Talvez você experimentou mesmo a ação indireta dobro quando você foi visitar o Web site familiar e encontrar o local se tinha movido. Você viu uma observação que os Web pages tinham sido movidos e uma ligação para o local novo, em vez da página que você esperou.
|