Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sizeof | Datos
Fundamentos de C
course content

Contenido del Curso

Fundamentos de C

Fundamentos de C

1. Introducción
2. Datos
3. Operadores
4. Control de Declaraciones
5. Funciones
6. Punteros

book
Sizeof

Tamaño de Datos

La función sizeof() es un elemento básico en la programación en C. Ayuda a determinar el tamaño (en bytes) del objeto o tipo especificado.

Por ejemplo, veamos cuántos bytes ocupa el tipo de dato int:

c

main

copy
12345678
#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 podrían asignar tamaños de bytes variables para el mismo tipo de dato.

Bits

Un bit es la unidad más básica de datos que utiliza una computadora. Cada byte consta de ocho bits.

Se decidió colectivamente por los ingenieros equiparar un byte a 8 bits porque esta configuración representa convenientemente números decimales.

Probablemente hayas oído hablar del sistema de numeración binario, que forma la base de las operaciones informáticas.

En esencia, el objetivo es representar valores numéricos que usamos en nuestra vida diaria usando combinaciones de ceros y unos. Cualquier número puede ser representado como una combinación de potencias de dos.

Por ejemplo, el número 7 puede ser representado como "111", y aquí está el desglose:

Los valores 0 o 1 no tienen significado matemático inherente; simplemente 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 diferentes tipos de datos? – ¡Su tamaño en bytes!

c

Main

copy
123456789101112
#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; }

Puedes utilizar la función sizeof() en un arreglo para determinar su tamaño:

c

main

copy
12345678910
#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }

Un arreglo con 10 elementos enteros ocupa 40 bytes, lo que significa que cada elemento individual consume 4 bytes. Si divides el tamaño total del arreglo por el tamaño de uno de sus elementos, determinarás la cantidad de elementos del arreglo:

c

main

copy
1234567891011121314151617
#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; }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
We're sorry to hear that something went wrong. What happened?
some-alt