Yo tengo el siguiente código:
Código:
#include <stdio.h>
int main()
{
int array[5] = {1, 2, 3, 4, 5};
int *point = array;
printf("%d", *(point+1));
return 0;
}
El cual funciona correctamente, sin complicación.
La cosa es, yo defino un array de 5 elementos de tipo int, ok. Luego le asigno la dirección de inicio del array al puntero "point", el cual declaro. Y despues con un printf, imprimo el contenido de la dirección a la que apunta point más un desplazamiento de 1.
Si cada celda de memoria ocupa un byte, lo normal seria que el +1 apuntara al siguiente byte de memoria. La cosa es que un tipo int ocupa 4 bytes... entonces, el puntero apuntaría al siguiente byte, donde no están contenidos los 4 bytes completos del siguiente elemento del array.
Se me entiende?... en fin, agradecería que alguien pudiera explicarmelo.
Saludos ^^