7.7 Punteros y vectores


Si ptr es un puntero, la expresión

ptr[k]

es equivalente a

*(ptr+k)

con lo que se puede trabajar con un puntero como si se tratara de un vector:

int* ptr;
int vector [100];

ptr = &vector[10];

for ( i=0; i<=10; i++ )
  ptr[i] = 1;	/* equivalente a *(ptr+i) = 1 */


Un vector es en realidad un puntero constante. El nombre de un vector se puede utilizar como un puntero, al que se le puede aplicar la aritmética de punteros (salvo que no se puede alterar).

Por ello la expresión

ptr = vector;

es equivalente a

ptr = &vector[0];