Punteros de C++


Creación de punteros

Aprendiste del capítulo anterior que podemos obtener la dirección de memoria de una variable usando el & operador:

Ejemplo

string food = "Pizza"; // A food variable of type string

cout << food;  // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)

Sin embargo, un puntero es una variable que almacena la dirección de memoria como su valor .

Una variable de puntero apunta a un tipo de datos (como into string) del mismo tipo y se crea con el *operador. La dirección de la variable con la que está trabajando se asigna al puntero:

Ejemplo

string food = "Pizza";  // A food variable of type string
string* ptr = &food;    // A pointer variable, with the name ptr, that stores the address of food

// Output the value of food (Pizza)
cout << food << "\n";

// Output the memory address of food (0x6dfed4)
cout << &food << "\n";

// Output the memory address of food with the pointer (0x6dfed4)
cout << ptr << "\n";

Ejemplo explicado

Cree una variable de puntero con el nombre ptr, que apunte a una stringvariable, utilizando el signo de asterisco *( string* ptr). Tenga en cuenta que el tipo del puntero debe coincidir con el tipo de variable con la que está trabajando.

Use el &operador para almacenar la dirección de memoria de la variable llamada foody asígnela al puntero.

Ahora, ptrcontiene el valor de foodla dirección de memoria de .

Sugerencia: hay tres formas de declarar variables de puntero, pero se prefiere la primera:

string* mystring; // Preferred
string *mystring;
string * mystring;

Ejercicios C++

Ponte a prueba con ejercicios

Ejercicio:

Cree una variable de puntero con el nombre ptr, que debería apuntar a una stringvariable llamada food:

string food = "Pizza";
  = &;