# Program: Byte Sizes of Basic Data Types

Understanding the byte sizes of basic data types in C is essential for efficient memory management and allocation. In this section, we'll explore how to print the byte sizes of common data types using the `sizeof` operator.

```c
#include <stdio.h>

int main() {
    // Print the byte sizes of basic data types
    printf("Size of char: %lu bytes\n", sizeof(char));
    printf("Size of short: %lu bytes\n", sizeof(short));
    printf("Size of int: %lu bytes\n", sizeof(int));
    printf("Size of long: %lu bytes\n", sizeof(long));
    printf("Size of float: %lu bytes\n", sizeof(float));
    printf("Size of double: %lu bytes\n", sizeof(double));
    printf("Size of long double: %lu bytes\n", sizeof(long double));

    // Additional modifiers
    printf("Size of unsigned int: %lu bytes\n", sizeof(unsigned int));
    printf("Size of signed char: %lu bytes\n", sizeof(signed char));

    return 0;
}
```

**Outputs:**

```
Size of char: 1 bytes
Size of short: 2 bytes
Size of int: 4 bytes
Size of long: 8 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of long double: 16 bytes
Size of unsigned int: 4 bytes
Size of signed char: 1 bytes
```

In this example, the `sizeof` operator is used to obtain and print the byte sizes of various basic data types. The outputs provide valuable information about the memory footprint of each data type. Understanding these byte sizes is crucial when working with different architectures and ensuring efficient memory utilization in C programming. If you have specific questions or if there are additional topics you'd like to explore, feel free to ask. Happy coding!
