Diferencia entre revisiones de «Programación en C++/Punteros»

Contenido eliminado Contenido añadido
Línea 43:
otro vector, pudiendo hacer así referencia a filas y columnas.
<source lang="cpp">
int pepegrandotepepechiquitopepe[15];
int *ptrpepe;
int *ptrpepegrandotepepechiquito;
ptrpepegrandotepepechiquitoptrpepe = pepegrandotepepechiquitopepe; // ptrpepegrandotepepechiquitoptrpepe recibe la dirección del primer elemento ( 0 ) de pepegrandotepepechiquitopepe</source>
Así como también podría escribirse
<source lang="cpp">
int pepegrandotepepechiquitopepe[15];
int *ptrpepe;
int *ptrpepegrandotepepechiquito;
ptrpepegrandotepepechiquitoptrpepe = &pepegrandotepepechiquitopepe[0]; // ptrpepegrandotepepechiquitoptrpepe es igual a la dirección del primer elemento de pepegrandotepepechiquitopepe</source>
 
Se pueden utilizar distintos elementos del vector teniendo en cuenta la sintaxis de punteros.
<source lang="cpp">
int pepegrandotepepechiquitopepe[15], Y, *ptrpepegrandotepepechiquitoptrpepe;
ptrpepe = pepe;
ptrpepegrandotepepechiquito = pepegrandotepepechiquito;
 
Y = *( ptrXptrpepe + 7 );
</source>
En este caso puede verse que Y toma el valor del elemento 7 del vector X, siendo 7 el desplazamiento dentro del vector. El operador de indirección queda fuera del paréntesis porque tiene una prioridad superior a la del operador +. De no existir los paréntesis, se sumaria 7 al elemento X[0].