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
- Ponteiros
- Ponteiros e matrizes
- Ponteiros nulos
- Dicas de Vazio
- Operação Aritmética de Ponteiro
- Ponteiro para Ponteiro
- Ponteiro para funções
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:
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.