jueves, 11 de agosto de 2011

Programación en C++/Punteros.."Punteros y matrices"


Punteros y matrices

Las matrices son punteros constantes. Una matriz sin subindice 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, *ptrX;
ptrX= X;

Y =*( ptrX+7);


En este caso puede verse que 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 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 las matrices son punteros constantes, el nombre de la matriz puede tratarse como un puntero:


Y =*( X+7);





 

No hay comentarios:

Publicar un comentario