Hoy os muestro un ejemplo donde podéis ver la estrecha relación que hay entre vectores y punteros. En los vectores al tener los elementos contiguos en memoria podemos acceder a cada uno de ellos solo con incrementar un puntero. El puntero se incrementara automáticamente en en tantos bytes como sea necesario: si tenemos un puntero entero y le aumentamos en una unidad se incrementa en 4 bytes para apuntar al siguiente entero, mientras que si por ejemplo tenemos un puntero double esto supondría un incremento en 8 bytes debido a que este es el tamaño del double.
A continuación os mostraré un ejercicio que consiste en visualizar el vector utilizando un puntero que se incrementa y va apuntando automáticamente al siguiente elemento del vector.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int vector[5]={0,1,2,3,4};
int *p;
int i;
p=&vector[0];//puntero apunte a la dirección del primer elemento del vector
for(i=0; i<5; i++)
{
printf("%d \n\n", *p);
p++;//El puntero se incrementa para apuntar al siguiente entero
}
}
el puntero se puede incrementar al infinito?
ResponderEliminarEste comentario ha sido eliminado por el autor.
EliminarSi, si defines un loop infinito como for(i=0;i<2;i++){i--}
ResponderEliminarQue ocurre si mi array es char y necesito mostrar un int
ResponderEliminar