Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2007, 11:10
mariano_donati
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 9 meses
Puntos: 9
Comprendiendo calloc

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;
 
  
calloc (1sizeof ( *) );

  if ( 
!= 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!!.
__________________
Add, never Remove