Hola y bienvenido.
En esta demostración, quiero proporcionar una solución a un pequeño programa rápido
que usará el operador sizeof para decirnos qué tan grande
es nuestra memoria para ciertos tipos de datos.
Vamos a mostrar bloques de
código y vamos a seguir pasos muy familiares aquí para crear un proyecto.
Y obtendremos un nombre significativo.
Llamemos a este proyecto
sizeofexample.
Así que tamaño del ejemplo.
Esto va a ser bastante fácil, de verdad. Solo usará declaraciones
impresas para mostrar ciertos tipos de datos.
Así que ni siquiera voy a crear ninguna variable. Solo voy a imprimir
algunos datos.
Así que aquí voy a decir que las variables de
tipo char ocupan el porcentaje.
E iba a usar cierto tipo
de datos um. Creo que fue zf,
pero intentemos usar zd. Este es un buen
especificador de formato, creo que se agregó en C99.
Zd y luego todo lo que tenemos que hacer es usar sizeof.
Sizeof y get it parece una función, pero no lo es. Y luego di char por carácter.
Y luego voy a copiar
esto y pegarlo porque voy a hacer cosas similares.
No voy a hacer un char, pero voy a hacer un corto en el segundo.
Voy a hacer un int y un
long,
long long, double o hagamos un float, float
double, intentemos long double.
Y luego todo lo que tenemos que hacer
es modificar el tamaño de los parámetros para tomar los tipos correspondientes.
También usaremos esto cuando hablemos de memoria y punteros.
Pero esto ayuda a comprender los diferentes tipos de datos.
Y verá que en realidad puede pasar en el espacio
a un tamaño muy largo. Probablemente por eso no es una función porque no puede tener espacios en los parámetros de la función.
Pero recuerde que sizeof también toma variables, expresiones, todo tipo
de cosas.
Y cuando hace eso, en realidad determina el tamaño de en tiempo de
ejecución en lugar del tiempo de compilación en doble largo.
Guarda eso, construye.
Sin errores.
Parece que no entiende el formato z.
Es porque puede que no sea int. En su lugar, cambiemos estos a porcentaje de
uso para sin firmar.
Muy bien, ahora construyamos.
Muy bien, ahora no tenemos advertencias. Normalmente, cuando construyo, no querrás tener advertencias también.
Las advertencias en el compilador son
exactamente lo que dicen que están advirtiendo. Por lo tanto, seguirá compilando
correctamente, pero una advertencia generalmente indica un problema.
Entonces quieres limpiar tus advertencias. Entonces recibí una advertencia que decía que un especificador
de formato no estaba permitido por ciento z. , así que lo cambié, ahora no tengo advertencias.
Trate de limpiar sus advertencias tanto como sea posible porque la razón por la que son advertencias es que pueden causar problemas.
Y una cosa que olvidé aquí y que acabo de
notar es que está formateado incorrectamente porque no agregué mi carácter de escape para apostar por avances de línea.
Por lo que hace que sea muy difícil de leer. Así que agreguemos nuestra barra
invertida n después de nuestro porcentaje u.
Entonces ahora dice que las variables de tipo char ocupan uno.
Las variables de tipo short ocupan
2 bytes, int 4 bytes, long 4 bytes, long long
8 bytes, float 4 bytes, double 8 bytes, long double 12.
Está bastante bien. Ejecuta esto en muchas plataformas diferentes y verá que esas cosas cambian.
Por tanto, es un programa fácil de escribir, pero que vuelve a demostrar algunos conceptos ingeniosos.
Entonces puedes seguir adelante, puedes descargar esto.
Si tiene algún problema, intente ejecutarlo en diferentes plataformas, pero esto es todo lo
que quería demostrar, solo una pequeña muestra de los diferentes tamaños de
tipos de datos, así que pase a la siguiente sección. Gracias.