que es un puntero
Los punteros permiten simular el paso por referencia, crear y manipular estructuras dinámicas de datos, tales como listas encadenadas, pilas, colas y árboles.Generalmente las variables contienen valores específicos. Los punteros son variables pero en vez de contener un valor especifico, contienen las direcciones de las variables a las que apuntan. Para obtenero modificar el valor de la variable a la que apuntan se utiliza el operador de indirección. Los punteros, al ser variables deben ser declaradas como punteros antes de ser utilizadas.
OperadoresExisten 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 (*) que devuelve unalias 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 último el punteropasa a apuntar a la variable X. Esto es, ptrX es un puntero a X.
int X = 15;
int *ptrX;
ptrX = &X;
Punteros y matrices
Las matrices son punteros constantes. Una matriz sin subindice es un punteroal 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, *ptrX;
ptrX = X;
Y = *(ptrX + 7 );
En este caso puede verse qué Y toma el valor del elemento 7 de la matriz X, siendo 7 el desplazamiento dentro de la matriz. El operador de indirección queda fuera del paréntesis porquetiene una prioridad superior a la del operador +. De no existir los paréntesis, se sumaría 7 al elemento X[0]. Teniendo en cuenta que las matrices son punteros constantes, el nombre de la matriz puede...
Regístrate para leer el documento completo.