Un ejemplo sencillo de puntero en C ++

En este artículo, vamos a aprender sobre punteros en C ++ , cómo se declaran punteros, cómo se inicializan y cómo podemos acceder a los valores y las direcciones utilizando el puntero?

Ya hemos discutido en C programación punteros, aquí estoy escribiendo un ejemplo sencillo en el lenguaje de programación C ++ para declarar, inicializar y acceso a los punteros.

Punteros son las variables (un tipo de especial), que almacena la dirección de otro variables.

Los punteros pueden almacenar la dirección de otra variable normal, así como almacenar la dirección de otra variable puntero. El puntero que almacena la dirección de otra variable puntero se conoce como puntero double o puntero a puntero .

vamos a entender ambos casos a través de ejemplos …

Ejemplo 1) declarar un puntero, que almacenará la dirección de una variable normal

En este ejemplo, vamos a declarar una variable de número entero y un puntero entero que almacenará la dirección de la variable entera.

#include <iostream>
using namespace std;
int main()
{
int a; //normal integer variable
int *ptr; //integer pointer declaration
//pointer initialization
ptr = &a;
//printing the address of a by using "&a" and
//through pointer variable
cout<<"Address of a: "<<&a<<endl;
cout<<"Address of a: "<<ptr<<endl;
//assigning a value to variable a
//and will print using 'a' and pointer 'ptr'
a = 108;
cout<<"Value of a: "<<a<<endl;
cout<<"Value of a: "<<*ptr<<endl;
//changing the value of a using pointer
*ptr = 251;
cout<<"Value of a: "<<a<<endl;
cout<<"Value of a: "<<*ptr<<endl;
return 0;
}

salida

    Address of a: 0x7ffede9ec62c
Address of a: 0x7ffede9ec62c
Value of a: 108
Value of a: 108
Value of a: 251
Value of a: 251

Aquí,

  • y un se return la dirección de un .
  • ptr contendrá la dirección de un por lo que también return dirección de un .
  • * ptr se return el valor de un (porque la dirección de un se asigna a ptr ).

Ejemplo 2) declarar un puntero a puntero, que almacenará la dirección de un otro puntero

En este ejemplo, vamos a declarar una variable de número entero y 1) un puntero de número entero, 2) un puntero a puntero que almacenará la dirección de la dirección de primera puntero (puntero entero).

#include <iostream>
using namespace std;
int main()
{
int a; //normal integer variable
int *ptr; //integer pointer declaration
int **dptr; //pointer to pointer declaration
//pointer initialization
ptr = &a;
//pointer to pointer initialization
dptr = &ptr;
//printing the addresses of a using pointer
//and address of pointer using pointer to pointer
a = 108;
cout<<"Address of a: "<<ptr<<endl;
cout<<"Address of ptr: "<<dptr<<endl;
//assigning value to 'a' and will print using
//pointer and pointer to pointer
cout<<"Value of a: "<<*ptr<<endl;
cout<<"Value of a: "<<**dptr<<endl;
return 0;
}

salida

    Address of a: 0x7ffc1d6b2574
Address of ptr: 0x7ffc1d6b2578
Value of a: 108
Value of a: 108

Aquí,

  • ptr contiene la dirección de un por lo que return dirección de un .
  • DPTR contiene la dirección del ptr por lo que return dirección del ptr .
  • * ptr se return el valor de un .
  • ** DPTR también return el valor de un .

Nota: Para obtener el valor de ptr , que en realidad es la dirección de un , podemos utilizar * DPTR .

espero que este post va a ser útil para entender el concepto de punteros en C ++ . Aquí, acabo de escribir ejemplos sencillos de punteros en C ++ . If que desea practicar más ejemplos de punteros, punteros visita: C ejemplos / programas.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *