SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: cremix en Lunes 18 de Mayo de 2009, 18:12
-
Hola:
Si tengo esta función, por ejemplo:
int sumatorio(int* vector){...}
Como a la función le paso un array en forma de puntero ¿Cómo puedo calcular, en el cuerpo de esa función, el tamaño de vector?
No puedo hacerlo con sizeof porque entonces me dice, lógicamente, que el array tiene tamaño uno. ¿Hay algún modo de hacerlo?
un saludo
-
No hay forma de saberlo. C no guarda ninguna información sobre ello en el array. Para C es tna sólo un puntero. De hecho, te dejará acceder a cualquier índice que uses siempre y cuando no te salgas de tu cacho de memoria. Es el programador quien debe saber cuántos elementos tiene el array y controlarlo. Lo que sí puedes hacer es pasarle el número de elementos que contiene como otro parámetro.
-
OK. Muchas gracias