Arrange the following data types available in C language according to their size (smallest to largest):
A. signed long int
B. long double
C. unsigned char
D. unsigned int
Choose the correct answer from the options given below:
Step 1: Understand the size of data types in C.
In C, the sizes of data types depend on the system architecture, but typically:
- **unsigned char** is the smallest data type, usually 1 byte.
- **unsigned int** typically takes 4 bytes on most systems.
- **signed long int** usually takes 4 bytes, but can take 8 bytes on some systems.
- **long double** is the largest, often taking 8 or 10 bytes depending on the system.
Step 2: Evaluate the options.
- **C (unsigned char)** is the smallest, so it comes first.
- **D (unsigned int)** is next in size, typically taking 4 bytes.
- **A (signed long int)** comes next, typically taking 4 or 8 bytes.
- **B (long double)** is the largest data type in C, typically taking 8 or 10 bytes.
Step 3: Conclusion.
Thus, the correct order from smallest to largest is: **C, D, A, B**.