Ponteiros de C ++ e referência

Ponteiros de C ++ e referência
Em C ++, tanto o ponteiro quanto a referência são dois conceitos poderosos. Com a ajuda do ponteiro e da variável de referência, podemos acessar facilmente nossas variáveis ​​normais facilmente. Agora, discutimos em detalhes sobre o conceito de ponteiro e referência.

Ponteiro

Ponteiro é um tipo especial de variável. Ele armazena o endereço de outra variável. Significa sempre que qualquer loja de variável na memória, ele recebe um endereço específico. Pointer armazena este endereço dessa variável específica.

Exemplo de programação 1

#incluir
usando namespace std;
int main ()

int x = 15;
int *p; // declarando um ponteiro
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
retornar 0;

Saída

Explicação
Aqui, declaramos uma variável inteira x e dentro x atribuímos 15. Agora, declaramos uma variável de ponteiro do tipo inteiro *p.

p = & x;

Aqui dentro da variável ponteiro P, atribuímos o endereço de x. O endereço de X depende totalmente do nosso sistema operacional.

Se imprimirmos & x, ele mostra a saída do endereço da variável x.

Se imprimirmos a variável P, ele também obterá a saída do endereço da variável x.

Mas se imprimirmos o *P, na verdade, desreferências em nosso ponteiro. Isso significa que obtém a saída do valor de x variável.

Exemplo de programação 2

#incluir
usando namespace std;
int main ()

flutuar x = 15;
flutuar *p; // declarando um ponteiro
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
retornar 0;

Saída

Explicação
Se pegarmos a variável do tipo flutuante x e atribuirmos algum valor 1.5, então declaramos um ponteiro para segurar o endereço de x, temos que levar o tipo de ponteiro de flutuação.

Qualquer ponteiro contém o endereço da variável; Ambos têm o mesmo tipo de dados. Caso contrário, o erro ocorre.

Aritmético do ponteiro

Em C ++ com a ajuda do ponteiro, realizamos algumas operações aritméticas, como incremento, decréscimo, adição e subtração.

Exemplo de programação 3

#incluir
usando namespace std;
int main ()

int x = 15;
int *p = & x;
cout<< p << endl ; // address of x ;
p ++; // incremento de poiner
cout<< p << endl ;
retornar 0;

Saída

Ponteiro e matriz

Array sempre leva memória de maneira contígua. Podemos implementar uma matriz com a ajuda de ponteiro. Porque quando o ponteiro é incrementado, ele sempre aponta para o próximo bloqueio do endereço base da matriz. Ponteiro e Array têm o mesmo tipo de dados.

Exemplo de programação 4

#incluir
usando namespace std;
int main ()

int i;
int arr [] = 5, 10, 15; // declarando uma matriz;
int *p = arr; // inicializando o valor da matriz em um ponteiro;
cout<< *arr << endl ;
para (i = 0; i < 3 ; i++)

cout<< *p << endl ;

retornar 0;

Saída

Explicação
Podemos acessar uma matriz a um ponteiro. Neste exemplo, simplesmente declaramos uma matriz e inicializamos alguns valores. O endereço base da matriz para um ponteiro P. Agora, podemos imprimir o valor de cada elemento da matriz através de um ponteiro. Se incrementarmos o valor da PTR, ele simplesmente vai para o próximo bloco do endereço base da matriz.

Referência

Exceto variável e ponteiro normal, C ++ nos fornece um tipo especial de variável chamado variável de referência. Agora, aprendemos sobre a variável de referência.

Recursos da variável de referência

  1. Antes de declarar uma variável de referência, simplesmente escrevemos '&' símbolo. Muitos de nós têm um equívoco de que '&' é tratado como endereço do operador. Mas na verdade não é tratado assim em termos de variável de referência.
  2. Quando declaramos a variável de referência naquele momento, a inicialização deve ser feita. Caso contrário, o erro ocorre.
  3. A variável de referência não pode ser atualizada.

Exemplo de uma variável de referência

int x = 5;

Se queremos manter um nome alternativo da variável x, temos que seguir este procedimento.

int & y = a;

Isso significa que a variável de referência é criada apenas para referir a variável existente no programa. Com a ajuda da variável de referência, acessamos a variável x.

Exemplo de programação 5

#incluir
usando namespace std;
int main ()

int x = 15;
int & y = x;
cout<< x << “ “ << y << endl ;
++y;
cout<< x << “ “ << y << endl ;
retornar 0;

Saída

Explicação
Aqui, introduzimos uma variável de referência y que se refere à variável x pela linha & y = x. Em x, 5 é atribuído. Se quisermos imprimir a variável x e y, ambos mostram o mesmo resultado 5.

Se incrementarmos 1 para o valor de y e imprimirmos a variável x e y, ele mostra o mesmo resultado 6.

Conclusão

Discutindo em detalhes sobre o conceito de ponteiro e referência, chegamos a essa conclusão de que o endereço é o conceito mais poderoso em C++. Com a ajuda de ponteiro e referência, podemos monitorar as variáveis, matriz, função, estrutura etc. facilmente.