Contenido del Curso
Fundamentos de C
Fundamentos de C
Sizeof
Tamaño de los Datos
La función sizeof()
es un elemento básico en la programación en C. Ayuda a determinar el tamaño (en bytes) de un objeto o tipo especificado.
Por ejemplo, veamos cuántos bytes ocupa el tipo de dato int
:
main
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
El tipo de dato int
ocupa 4 bytes.
Nota
Ten en cuenta que diferentes compiladores pueden asignar tamaños de byte variables para el mismo tipo de datos.
Bits
Un bit es la unidad más básica de datos que utiliza un ordenador. Cada byte consta de ocho bits.
Los ingenieros decidieron colectivamente equiparar un byte a 8 bits porque esta configuración representa convenientemente números decimales.
Es probable que hayas oído hablar del sistema numérico binario, que constituye la base de las operaciones informáticas.
En esencia, se trata de representar valores numéricos que utilizamos en nuestra vida cotidiana mediante combinaciones de ceros y unos. Cualquier número puede representarse como una combinación de potencias de dos.
Por ejemplo, el número 7 puede representarse como "111", y he aquí el desglose:
Los valores 0 ó 1 no tienen significado matemático, sólo indican el estado de un bit.
- 0 – el bit está inactivo;
- 1 – el bit está activo.
El número 113, en binario, aparece como "01110001":
Tipos de Datos
¿Qué distingue a los distintos tipos de datos? – Su tamaño en bytes.
Main
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); printf("Size of char type: %d bytes\n", sizeof(char)); printf("Size of double type: %d bytes\n", sizeof(double)); // double is like float, but better return 0; }
Puede utilizar la función sizeof()
en una array para determinar su tamaño:
main
#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
Una array con 10 elementos enteros ocupa 40 bytes, lo que significa que cada elemento individual consume 4 bytes. Si divides el tamaño total de la array por el tamaño de uno de sus elementos, determinarás el número de elementos de la array:
main
#include <stdio.h> int main() { int data[] = { 4,8,1,5,0,123,66,11, 64,2,7,78,-0,34,23,545, 98,890,65,32,412,6,5465, 87859,656534,324,324,456, 356,341,5654, 534,756,12 }; int sizeOfArray = sizeof(data) / sizeof(int); // or sizeof(data) / sizeof(data[0]); printf("Elements in an array: %d\n", sizeOfArray); return 0; }
¡Gracias por tus comentarios!