A linguagem C é conhecida por ser uma linguagem que utiliza muito o conceito de ponteiros. De fato é necessário conhecer ponteiros em C para se programar. Mas na linguagem Pascal, um programador pode conviver com a linguagem e nunca utilizar ponteiros. Por esta razão quando um programador Pascal se deparar com um código fonte que utiliza ponteiros ele fica totalmente perdido. Por isso resolvi escrever este mini curso sobre a utilização de ponteiros no Pascal.
Não queria reinventar a roda, por isso procurei na Internet por tutoriais que explicam o funcionamento dos ponteiros em linguagem C e resolvi me apoderar destes tutoriais e fazer uma paralelo entre as duas linguagens, C e Pascal.
Antes de explicar os detalhes dos ponteiros em Pascal, vamos ver uma explicação sobre ponteiro.
Texto retirado de: HowStuffWorks.
Ponteiros são bastante usados em C. Assim, se deseja usar a linguagem C por completo, você precisa ter uma boa compreensão sobre ponteiros. Eles devem se tornar fáceis de usar para você. A meta desta e das várias próximas seções é ajudá-lo a construir um entendimento completo sobre os ponteiros e como a linguagem C os utiliza. Para a maioria das pessoas, isto demora um pouco, pois requer prática familiarizar-se com os ponteiros, mas depois de dominá-los, você se torna um programador completo em linguagem C.
Em Pascal ao contrário do C, não é necessário o conhecimento de ponteiros para se trabalhar. De fato inúmeros programadores nunca usaram ponteiros em seus códigos. Assim como em C, o entendimento dos ponteiros no Pascal não é trivial e demanda bastante explicação e entendimento de como funciona “a coisa por dentro”.
A linguagem C utiliza ponteiros de três modos diferentes:
- A linguagem C usa ponteiros para criar estruturas dinâmicas de dados, que são estruturas de dados criadas a partir de blocos de memória localizados na pilha durante o tempo de execução.
- A linguagem C usa ponteiros para manipular parâmetros de variáveis passados para as funções.
- Os ponteiros em C oferecem um modo alternativo para acessar informações armazenadas em matrizes. As técnicas de ponteiro são especialmente valiosas quando se trabalha com strings de caracteres. Há uma estreita relação entre matrizes e ponteiros em linguagem C.
Podemos utilizar ponteiros em Pascal para criar estrututuras dinâmicas de dados.
Quanto a manipular parâmetros de variáveis passados para as funções, em Pascal isso é desnecessário pois este já possui recurso na linguagem para isso.
O terceiro modo não é possível de emular em Pascal diretamente, mas existe o conceito de Ponteiros de Vetor que também explicarei no tutorial.
Em alguns casos, os programadores de C também usam ponteiros porque eles tornam o código um pouco mais eficiente. O que você descobrirá é que, depois de se sentir familiarizado com os ponteiros, irá a usá-los o tempo todo.
Isso também é verdade em Pascal. Os ponteiros trazem eficiência ao código. Mas seu uso deve ser restrito a situações necessárias, não recomendo a utilização “o tempo todo” como se faz em C, pois os ponteiros apesar de poderosos, introduzem armadilhas que são difíceis de solucionar.
Iniciaremos esta discussão com uma introdução básica sobre ponteiros e seus conceitos relacionados, e depois passaremos para as três técnicas descritas acima. Você provavelmente vai querer ler este artigo duas vezes. Ao lê-lo da primeira vez, você aprenderá os conceitos. A segunda leitura permitirá ligar os conceitos e criar um todo integrado em sua mente. Após ler o material pela segunda vez, ele fará muito mais sentido.
0 Respostas para “Ponteiros no Pascal / Delphi - Introdução”
Deixe uma Resposta