Como implementar ponteiros em C ++?



Este artigo apresentará o conceito de ponteiros em C ++ e, em seguida, fará uma demonstração prática de suporte.

Ponteiros em C ++ é uma variável que contém o endereço de outra variável em c ++. O endereço é armazenado na variável ponteiro e ajuda na implementação da chamada por referência.

As dicas a seguir serão abordadas neste artigo,





estrutura baseada em dados em selênio

Começando com este artigo sobre Ponteiros em C ++

Sintaxe:



datatype * pointername EXEMPLO: int * ptr
  • Uma variável de ponteiro possui um sinal * antes de seu nome.
  • Um ponteiro também é chamado de localizador ou Indicador.

Usos do ponteiro:

  • Alocação de memória dinâmica
  • Em vários programas de matrizes, estrutura e funções

Aqui está um exemplo de código:

#include using namespace std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Resultado:
Saída - Ponteiros em C ++ - Edureka



Explicação:

No programa acima, mostramos o funcionamento básico de um ponteiro. Temos uma variável inteira num com valor 17. Temos a variável ponteiro ptr do tipo int. Atribuímos o endereço de num ao ponteiro ptr.

Primeiro imprimimos o valor de ptr, que é o endereço. Em seguida, imprimimos o valor num e, no final, imprimimos o valor no local mantido pelo ponteiro ptr.

Continuando com este artigo sobre Ponteiros em C ++

Ponteiros e matrizes:

Podemos considerar o primeiro elemento de um array como um ponteiro, pois o nome do array contém o endereço do primeiro elemento. Podemos usar um ponteiro da seguinte maneira.

Aqui está um código de exemplo:

#include usando namespace std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Resultado: 

Explicação:

No programa acima, mostramos o funcionamento básico de um ponteiro com um array. Temos um array arr com valores 5,10,20. Temos a variável de ponteiro ptr do tipo int. Atribuímos o endereço de arr ao ponteiro ptr.

Primeiro imprimimos o valor de ptr [0], que é o primeiro elemento do array. Em seguida, imprimimos o segundo e o terceiro elementos, respectivamente. Como os elementos do array são armazenados consecutivamente, o ponteiro pode acessar o outro local do array por incremento.

Continuando com este artigo sobre Ponteiros em C ++

Ponteiros nulos:

Existem os tipos de ponteiros que não têm valor e contêm um valor nulo

Exemplo :

instrução goto em c ++
int * ptr = NULL

Eles são muito úteis em estruturas de dados como uma lista vinculada.

Continuando com este artigo sobre Ponteiros em C ++

Dicas de Vazio:

Esses são os tipos de ponteiros que não têm um tipo de retorno.

Continuando com este artigo sobre Ponteiros em C ++

Operação Aritmética do Ponteiro:

Diferentes operações podem ser executadas em ponteiros. Aqui estão alguns tipos importantes.

  • incrementado (++)
  • diminuído (-)
  • diferença entre dois ponteiros (p1-p2)
  • adição de um inteiro a um ponteiro (+ ou + =)
  • subtração de um inteiro de um ponteiro (- ou - =)

Aqui está um código para demonstrar algumas dessas operações:

#include usando namespace std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Resultado:

Explicação:

Demonstramos a operação aritmética simples de incremento da variável de ponteiro é mostrada no programa acima.

Continuando com este artigo sobre Ponteiros em C ++

Ponteiro para Ponteiro:

Nesse tipo de sistema, existem dois indicadores. O primeiro ponteiro aponta para o segundo ponteiro e o segundo ponteiro aponta para a variável que está mantendo o valor.

Aqui está um exemplo de código:

#include using namespace std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Resultado:

login de alerta javascript para baixar

Continuando com este artigo sobre Ponteiros em C ++

Ponteiro para funções:

Esta é uma forma de passar ponteiros para funções. O parâmetro da função deve ser declarado como um tipo de ponteiro. É mostrado no código abaixo,

#include usando namespace std float getA Average (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getA Average (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Resultado

É assim que passamos um ponteiro para uma função.

Assim, chegamos ao fim deste artigo sobre ‘Ponteiros em C ++’. Se você deseja saber mais, confira o pela Edureka, uma empresa de aprendizagem online confiável. foi projetado para treiná-lo nos conceitos básicos e avançados do Java, juntamente com várias estruturas Java, como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog e entraremos em contato com você o mais breve possível.