Lecture on Data Types in C
Overview
This lecture discusses various data types in C programming, expanding upon topics previously covered, focusing on how they store data and how to display them using format specifiers.
Characters (Chars)
- Single Character:
- Stores one character.
- Display using
%c format specifier.
- Array of Characters:
- Stores strings or multiple characters.
- Display using
%s format specifier.
Floating Points
- Float:
- Stores decimal numbers.
- Uses 4 bytes, 32 bits of precision.
- Significant digits: 6-7.
- Display using
%f format specifier.
- Double:
- Double precision of a float.
- Uses 8 bytes, 64 bits of precision.
- Significant digits: 15-16.
- Display using
%lf or %.15lf for more precision.
- More accurate than float but uses more memory.
Booleans
- In C:
- Include
stdbool.h.
- Stores
true (1) or false (0).
- Display using
%d format specifier.
Chars as Integers
- Range:
- Stores integers between -128 to 127.
- Display using
%d for decimals or %c for characters using ASCII table.
- Unsigned Char:
- Range: 0 to 255.
- Display using
%d.
- Overflow resets to 0.
Short Integers
- Short Int:
- Uses 2 bytes.
- Range: -32,768 to 32,767.
- Display using
%d.
- Unsigned Short Int:
- Range: 0 to 65,535.
- Overflow resets to minimum value.
Standard Integers
- Integer:
- Uses 4 bytes.
- Range: ~-2 billion to 2 billion.
- Display using
%d.
- Unsigned Integer:
- Range: 0 to ~4 billion.
- Display using
%u.
- Overflow causes reset.
Long Long Integers
- Long Long Int:
- Uses 8 bytes.
- Range: ~-9 quintillion to 9 quintillion.
- Display using
%lld for signed, %llu for unsigned.
- Unsigned Long Long Int:
- Range: 0 to ~18 quintillion.
- Warning for large constants can be avoided by appending
u.
Key Points
- Chars can store single characters or integers within a specified range.
- Floats and doubles are used for decimal numbers; doubles offer more precision.
- Booleans represent binary states.
- Short/long integers extend or narrow the range of standard integers.
Focus
- Primary focus on chars, arrays of chars, doubles, booleans, and integers.
- Be aware of other types for specific use cases.