0
0
CConceptBeginner · 3 min read

What is sizeof Operator in C: Explanation and Examples

The sizeof operator in C returns the size in bytes of a data type or variable. It helps you find out how much memory a type or object occupies in your program.
⚙️

How It Works

The sizeof operator measures the amount of memory a variable or data type uses. Think of it like measuring the size of a box before you pack something inside. Different types of data, like int, char, or double, need different amounts of space.

When you use sizeof, the computer tells you how many bytes are needed to store that type or variable. This is useful because memory sizes can vary depending on the system or compiler.

💻

Example

This example shows how to use sizeof to find the size of different data types and a variable.

c
#include <stdio.h>

int main() {
    int a = 10;
    printf("Size of int: %zu bytes\n", sizeof(int));
    printf("Size of a: %zu bytes\n", sizeof(a));
    printf("Size of double: %zu bytes\n", sizeof(double));
    printf("Size of char: %zu bytes\n", sizeof(char));
    return 0;
}
Output
Size of int: 4 bytes Size of a: 4 bytes Size of double: 8 bytes Size of char: 1 byte
🎯

When to Use

Use sizeof when you need to know how much memory a type or variable uses. This is important when working with arrays, pointers, or dynamic memory allocation. For example, if you want to allocate memory for 10 integers, you can multiply 10 by sizeof(int) to get the right amount of space.

It also helps write portable code that works on different machines, since sizes of types can change depending on the system.

Key Points

  • sizeof returns the size in bytes of a type or variable.
  • It is evaluated at compile time for types and variables.
  • Useful for memory management and writing portable code.
  • Returns a value of type size_t, which is an unsigned integer.

Key Takeaways

sizeof tells you how many bytes a type or variable uses.
It helps manage memory safely and correctly in your programs.
Use it when allocating memory or working with arrays and pointers.
The size returned can vary by system, so sizeof makes your code portable.