Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: geeke en 13 Enero 2015, 14:15 pm



Título: Obtener longitud de un array de enteros en C
Publicado por: geeke en 13 Enero 2015, 14:15 pm
Esto es solo por curiosidad me preguntaba si existe una manera diferente que la convencional:

Código
  1. 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


Título: Re: Obtener longitud de un array de enteros en C
Publicado por: Blaster en 13 Enero 2015, 15:16 pm
Puedes utilizar la siguiente expresión:

Código
  1. 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


Título: Re: Obtener longitud de un array de enteros en C
Publicado por: geeke en 14 Enero 2015, 15:04 pm
Muchas gracias Blaster eres un genio  ;-)