C++ Array de punteros

C++ 指针C++ Punteros

Antes de explicar el concepto de array de punteros, veamos un ejemplo que utiliza un array compuesto por 3 enteros:

Ejemplo

#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; for (int i = 0; i < MAX; i++) { cout << "Value of var[" << i << "] = "; cout << var[i] << endl; } return 0; }

Cuando el código anterior se compila y ejecuta, produce los siguientes resultados:

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Puede darse una situación en la que queramos que un array almacene punteros a int, char u otros tipos de datos. A continuación se muestra una declaración de un array de punteros a enteros:

int *ptr[MAX];

Aquí,ptrse declara como un array compuesto por MAX punteros a enteros. Por lo tanto, cada elemento en ptr es un puntero a un valor int. El siguiente ejemplo utiliza tres enteros, que se almacenarán en un array de punteros, como se muestra a continuación:

Ejemplo

#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; int *ptr[MAX]; for (int i = 0; i < MAX; i++) { ptr[i] = &var[i]; // Asignar la dirección del entero } for (int i = 0; i < MAX; i++) { cout << "Value of var[" << i << "] = "; cout << *ptr[i] << endl; } return 0; }

Cuando el código anterior se compila y ejecuta, produce los siguientes resultados:

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

También puede utilizar un array de punteros a caracteres para almacenar una lista de cadenas, como sigue:

Ejemplo

#include <iostream> using namespace std; const int MAX = 4; int main () { const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", }; for (int i = 0; i < MAX; i++) { cout << "Value of names[" << i << "] = "; cout << names[i] << endl; } return 0; }

Cuando el código anterior se compila y ejecuta, produce los siguientes resultados:

Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali

C++ 指针C++ Punteros

Otras extensiones