¿cómo saber el largo de un array?

¿cómo saber el largo de un array?

de Matías Raúl Mirandetti Duarte -
Número de respuestas: 2

hola, haciendo el ejercicio 6 del practico me surgió la duda de si hay una manera de obtener el largo de un arreglo de enteros, ya que lo único que se me ocurrió fue pedirlo como parámetro en la función de la siguiente forma:

En respuesta a Matías Raúl Mirandetti Duarte

Re: ¿cómo saber el largo de un array?

de Carlos Santiago Tabarez Aristegui -

Capaz que sizeof(arreglo)/sizeof(arreglo[0])?

El tamaño del arreglo dividido el tamaño de uno de sus elementos.


Editado: eso si no fue creado con memoria dinamica. Porque si fue creado con memoria dinamica, eso solo te daria el tamaño del puntero si no me equivoco.

En respuesta a Matías Raúl Mirandetti Duarte

Re: ¿cómo saber el largo de un array?

de Dionisio Fernández Pereira -
En general el tamaño del espacio de memoria que tiene asignado un puntero no se puede saber, para pasarlo a una función podés hacer lo que hiciste, pasando el largo como parámetro, o usar una struct como un arreglo con tope para guardarlo:
struct ArregloConTope {  
    int *data;
    int length;
}
Y pasarle eso a la función.