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

Contenido eliminado Contenido añadido
Línea 38:
</source>
 
=== Punteros y matricesvectores (arrays) ===
LasLos matricesvectores son punteros constantes. UnaUn matrizvector sin subindice es un puntero al primer elemento dedel la matrizvector.
Una matriz es un vector de vectores. (Ej: int M[3][3];) de manera que en cada elemento del primer vector "se cuelga"
otro vector, pudiendo hacer así referencia a filas y columnas.
<source lang="cpp">
int X[15];
Línea 52 ⟶ 54:
</source>
 
Se pueden utilizar distintos elementos dedel la matrizvector teniendo en cuenta la sintaxis de punteros.
<source lang="cpp">
int X[15], Y, *ptrX;
Línea 59 ⟶ 61:
Y = *( ptrX + 7 );
</source>
En este caso puede verse que Y toma el valor del elemento 7 dedel la matrizvector X, siendo 7 el desplazamiento dentro de ladel matrizvector. 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].
Teniendo en cuenta que laslos matrices sonvectoresson punteros constantes, el nombre de ladel matrizvector puede tratarse como un puntero:
<source lang="cpp">
Y = *( X + 7 );