Programación General > C/C++
Re: tamaño de un array
neo644:
como obtengo el tamaño, o se,a la cantidad de elementos ke tiene un array?
olla:
Pregunta un poco absurda creo pero bueno ahí va la va la respuesta: Al tratarse de un Array, estamos hablando de una estructura estática, es decir que el tamaño se lo pones tu en el momento de la declaración.
int array[20]: Array de 20 posiciones de enteros.
Si lo que quieres es saber la longuitid de una cadena de caracteres, que no es más que un array de caracteres utiliza la función strlen , que te devuelve un entero.
jpastor:
Como ha dicho olla al ser estaticos lo defines tu y es de ahi por donde lo puedes saber.
Por otro lado, además de esto no hay forma de saberlo directamente.
Si quieres poder trabajar con arrays sin tener que ir llevando controlado en tamaño a todas partes, podrías meterle un valor especial en el ultimo elemento.
jpastor:
Bueno, me paso por aqui antes de irme a casa para corregir la gilipollez que dije ayer.
Si tenemos un array como el siguiente:
int datos[40];
podemos saber la memoria total que ocupa con:
sizeof (datos);
por lo que el numero de elementos seria:
sizeof (datos)/sizeof(int);
Por cierto olla, la pregunta no es tan absurda y lo comentado de sizeof se usa de vez en cuando.
ToTeX:
Los arrays son estaticos?
Ke pasa si hago un puntero a un bloque de memoria y despues reajusto el tamaño de ese bloque con realloc? Eso se comporta igual que un array... es un aray?
Respecto al tema del tamaño, la mejor forma al usar array dinamicos con realloc es usar sizeof como dice jpastor, si es un array estatico la pregunta no tiene mucho sentido.
Hay que acordarse se que esta el '' al final cuando usamos cadenas.... ese igual se contaria en el tamaño del array:P
Navegación
[#] Página Siguiente
Ir a la versión completa