Obtener longitud de un array de enteros en C

Iniciado por geeke, 13 Enero 2015, 14:15 PM

0 Miembros y 1 Visitante están viendo este tema.

geeke

Esto es solo por curiosidad me preguntaba si existe una manera diferente que la convencional:

Código (cpp) [Seleccionar]
int n = sizeof(arr) / sizeof(arr[0]);

Para obtener el tamaño de un array de enteros he buscado mucho por internet pero nada al parecer es el único método existente.

Saludos ;D

Blaster

Puedes utilizar la siguiente expresión:

Código (cpp) [Seleccionar]
int n = (&array)[1] - array;

Donde (&array)[1] apunta a la siguiente posición respecto al final del array y  array apunta al primer elemento del array, con todo esto es evidente que con una simple resta sacas la longitud del array.

Un Saludo

geeke