O ponteiro é uma técnica de programação que permite ao programador para se referir a uma variável com uma referência de memória em vez de para a própria variável . Tem vantagens e desvantagens sobre o uso de atribuições de variáveis diretos e é um método de programação importante para o iniciante a intermediário programador . Pointer Referenciamento
Quando você atribui uma variável em qualquer linguagem de programação , uma certa quantidade de memória do sistema é reservado para manter os dados. Para variáveis simples , este será geralmente uma pequena quantidade de memória , mas de listas e matrizes de comprimento arbitrário , a quantidade de memória utilizada pode ser extremamente grande . Algumas funções e operações realizadas em variáveis tornem indispensável a cópia de seus dados em um espaço de trabalho, quando as variáveis operados são grandes, a quantidade de dados que precisa ser copiado pode retardar a operação do programa , ou em situações de memória limitada, com que o programa . acidente
Ponteiros evitar este problema através da criação de lugares marcador na memória; operações são feitas então em locais de memória , em vez de os dados reais armazenados na variável . Considere como um exemplo de um programa que carrega vários milhares de registros de um banco de dados em uma variável de matriz . Se você realizar uma operação como , " devolver o quinto registro do array, " em algumas línguas não- otimizados isso vai duplicar a lista inteira antes do quinto registro pode ser encontrado e extraído. Um ponteiro para o mesmo local de memória , no entanto, pode programaticamente recuperar esses dados sem causar toda a matriz a ser duplicado internamente.
Pointer erros
Cuidados devem ser tomados para compreender as operações internas de uma linguagem de programação ao atribuir variáveis. Considere o seguinte pseudocódigo :
a = 5b = aa = 10print b
Em alguns idiomas, o "b = a " operação irá atribuir o valor da variável "a" a variável "b . " Nestes casos , a operação "print b" irá retornar "5 ", que era o valor de "a" no momento em que foi atribuído a "b ". No entanto, em outras línguas , "b = a " cria um ponteiro (ou de referência) de "b" a "um ", dando a mesma variável dois nomes diferentes . Nesses idiomas , quando o valor de "a" for alterado, o valor de "b" também é alterado , eo resultado de "print b" será " 5 ".
Da mesma forma, quando uma atribuição de variável é simplesmente uma referência , os erros podem ser introduzidos como se segue : a =
5b = adelete aprint b
neste caso , se " b " e "a" referem-se à mesma variável , quando a variável a é excluído, variável "b" não existe mais , o programa vai acabar com um erro de execução
Cada linguagem tem suas próprias regras para lidar com ponteiros , referências e locais de memória variável , então técnicas aprendidas para um. linguagem deve ser ajustada, com base no ambiente de programação que você está usando.