C++ Los Punteros Permiten Simular El Paso Por Referencia
[editar] Sintaxis
int *ptrID, ID;
ID = 8;ptrID = &ID; // puntero a ID
ptrID es un puntero a int, mientras que la variable ID es solo una variable del tipo int. Todo puntero debe ser precedido por un asterisco (*).
Esto se representagraficamente de la siguiente manera:
[pic]
Se puede declarar mas de un puntero en la misma sentencia. En el ejemplo que sigue se ve la declaración de dos punteros a int.
int *ptrY, *ptrX;
[editar]Operadores
Existen dos operadores a tener en cuenta cuando trabajamos con punteros. El operador de dirección (&) que devuelve la dirección de memoria de su operando y el operador de indirección (*) quedevuelve un alias para el objeto al cual apunta el operando del puntero.
En el siguiente ejemplo vemos como se inicializa una variable X con el valor 15. Luego se crea un puntero a int y por últimoel puntero pasa a apuntar a la variable X. Esto es, ptrX es un puntero a X.
int X = 15;
int *ptrX;
ptrX = &X;
[editar] Punteros y matrices
Las matrices son punteros constantes. Una matriz sinsubindice es un puntero al primer elemento de la matriz.
int X[15];
int *ptrX;
ptrX = X; // ptrX recibe la dirección del primer elemento ( 0 ) de X
Así como también podría escribirse
int X[15];int *ptrX;
ptrX = &X[0]; // ptrX es igual a la dirección del primer elemento de X
Se pueden utilizar distintos elementos de la matriz teniendo en cuenta la sintaxis de punteros.
int X[15], Y,...
Regístrate para leer el documento completo.