Hola a todos. Estoy intentando crear arrays que se puedan redimensionar. Para eso necesito utilizar la función que menciono en el título de este post además de realloc. El problema es que me detuve a mirar un poco como funcionan, y me entraron algunas dudas. Este es el código de prueba:
Código PHP:
int *p;
p = calloc (1, sizeof ( *p ) );
if ( p != NULL )
{
p[0] = 9;
p[1] = 10;
p[2] = 20;
p[7] = 5000;
printf ( "%i", p[7] ); // esto imprime justamente 5000!!
}
else
{
printf ("No se pudo crear el array.");
}
Lo que no entiendo es lo siguiente: el primer argumento de calloc, es el número de elementos que quiero que contenga mi array, y el segundo sería el tamaño que tendrá cada espacio de memoria correspondiente. Lo que no entiendo es lo siguiente, si yo le estoy diciendo que me reserve espacio de memoria para solamente un elemento, ¿Por qué puedo acceder a tantos elementos como yo quiera?.
Espero que alguien pueda sacarme la duda en esto. Gracias de antemano. Saludos!!.