Hemos comentado lo que habitualmente ocupa una variable de tipo int, de tipo long int, de tipo float... Pero tenemos una forma de saber exactamente lo que ocupa: un operador llamado “sizeof” (tamaño de). Veamos un ejemplo de su uso
/*---------------------------*/
/* Ejemplo en C nº 10: */
/* c010.c */
/* */
/* Tamaño de una variable o */
/* de un tipo */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include
int main() {
float f;
short int i;
printf("El tama±o de mi float es %d", sizeof f);
printf(" y lo normal para un float es %d", sizeof(float) );
printf(" pero un entero corto ocupa %d", sizeof i);
return 0;
}
que nos diría lo siguiente:
El tamaño de mi float es 4 y lo normal para un float es 4 pero un entero corto ocupa 2
Como se puede ver, hay una peculiaridad: si quiero saber lo que ocupa un tipo de datos, tengo que indicarlo entre paréntesis: sizeof(float), pero si se trata de una variable, puedo no usar paréntesis: sizeof i. Eso sí, el compilador no dará ningún mensaje de error si uso un paréntesis cuando sea una variable sizeof(i), así que puede resultar cómodo poner siempre el paréntesis, sin pararse a pensar si nos lo podríamos haber ahorrado.
Ejercicios propuestos:
> Descubrir cual es el espacio ocupado por un “int” en el sistema operativo y compilador que utilizas.