Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/09/2013, 10:42
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: sizeof me funciona mal?

Hola codigo333.

Cuando se envía un arreglo como parámetro, se está enviando un apuntador al primer elemento del mismo. Es decir que cuando aplicas la función sizeof al parámetro, no estas obteniendo el tamaño del arreglo sino del apuntador.

Tal vez la situación se vea mas clara declarando la función de este modo:
Código C++:
Ver original
  1. LongitudArray(int *array)
  2. {
  3.   return sizeof(array) / sizeof(array[0]);  // = 1
  4. }
La función no posee información sobre el tamaño del arreglo que se le envía como argumento.

Saludos. :)