C e C ++ são as linguagens de programação mais comumente usadas, pois são as portas básicas do iniciante para o mundo da programação. Ponteiros e referências são alguns dos recursos mais úteis que essas linguagens oferecem. Ponteiros são usados em C e C ++ e referências são suportadas em C ++, Python e outras linguagens.
Ponteiro vs Referência
A diferença entre um ponteiro e uma referência é que um ponteiro armazena o endereço de alguma outra variável nele, enquanto uma referência se refere a uma variável existente em algum outro nome. Os ponteiros armazenam o endereço de qualquer outra variável em sua memória, mas as referências são usadas como a identidade alternativa.
Um ponteiro é aquela variável que tem o endereço ou localização de outra variável como seu valor. Eles podem ser inicializados em qualquer lugar em um programa com operadores como ‘*’ e ‘->’. Uma variável de ponteiro também pode se tornar nula e também oferece suporte à reinicialização. Os ponteiros são declarados pelo tipo de dados base seguido por um asterisco e o nome do ponteiro.
Uma referência é aquela variável que tem outro nome para uma variável já sutil do programa. Assim que uma variável de referência é criada, ela deve ser inicializada. Faz um apelido de outra variável. O operador & é usado para referências de design. Eles são feitos por tipo de dados de base seguido por '&' e o nome da variável.
Tabela de comparação entre ponteiro e referência
Parâmetros de comparação | Pointer | Referência |
Definição | A variável que contém o endereço de memória de outra variável é chamada de variável de ponteiro. | Uma referência é um apelido para outra variável, uma referência a ela. |
Referência nula | Um valor nulo pode ser atribuído a um ponteiro. | Uma variável de referência não tem atribuição de valor nulo. |
Sintaxe | Tipo de dados * PointerName; Onde Datatype é o tipo de dados base e PointerName é o nome do ponteiro declarado. | Datatype & ReferenceName = AnotherVariable; Onde ReferenceName é o nome da referência e AnotherVariable é a variável que está sendo referenciada. |
Inicialização | Ponteiros não inicializados podem ser criados. | As referências nunca podem ser criadas em um não inicializado |
Reinicialização | Variáveis de ponteiro podem ser inicializadas repetidamente no programa de acordo com a necessidade. | Uma variável de referência pode ser inicializada apenas uma vez em um programa. |
O que é Pointer?
Em suma, um ponteiro é a variável que contém a localização da memória ou o endereço de qualquer outra variável em um programa. Os ponteiros são funcionais em C e C ++. Uma variável de ponteiro armazena a localização do endereço da variável de apontamento. Variáveis de ponteiro podem ser declaradas e, em seguida, podem ser inicializadas com a variável cujo endereço deve ser determinado.
int * variável de ponteiro;
Após a declaração do ponteiro, a variável do ponteiro é atribuída à variável cujo endereço deve ser determinado. A declaração de declaração acima usa um ponteiro que armazenará o valor de uma variável inteira.
pointervariable = & a;
Aqui, a é a variável inteira usada no outro lado do programa cujo endereço é armazenado em um ponteiro de variável. Os ponteiros também atribuem a responsabilidade de serem reinicializados. Seus valores podem ser alterados de acordo com a necessidade.
O que é referência?
Uma variável de referência é um apelido para outra variável. Em outras palavras, a variável que se refere a outra variável de subsistência de um programa é considerada uma variável de referência.
Eles têm uma limitação de que não podem ser atribuídos a um valor nulo e não podem ser declarados, eles são apenas inicializados. Depois de criar uma referência, a variável pode ser acessada pelo nome da referência ou por seu nome original. As referências são inicializadas diretamente. Exemplo,
int & ref = var;
Aqui, o ref é o nome da variável de referência e aponta para a variável var que é inicializada em outra parte do programa. Quando os valores de ref e var são impressos, observa-se que ref e var têm o mesmo valor. Os ponteiros são vantajosos para economizar memória porque, quando são passados como argumentos para uma função, eles usam a localização original da memória para cada chamada de função.
As variáveis de referência não fornecem reinicialização; elas são inicializadas apenas uma vez e são exclusivas. As referências não apontam para uma variável armazenando seu endereço em um local de memória separado. Em palavras simples, uma variável de referência é um nome alternativo de uma variável já existente. Esses são apenas apelidos no outro nome da variável que deve ser referenciada.
Principais diferenças entre ponteiro e referência
Conclusão
Ponteiros e referências são conceitos vastos com aplicativos variados, principalmente em C e C ++. No entanto, ambos devem ser usados com as necessidades e requisitos adequados antes da implementação. Variáveis de referência não requerem reinicialização ou reatribuição e economizam espaço porque fazem múltiplas cópias locais redundantes de tipos de dados quando passados como argumentos para uma função. Ponteiros também são necessários, pois têm a facilidade de armazenar valores nulos neles.
Uma referência deve sempre referir-se a algo e deve necessariamente ser inicializada e não pode ser alterada. Os ponteiros têm capacidade de reutilização. Isso fornece a eles a capacidade de reinicialização que carece de referências.