All data items are held in the native byte order of the AVR processor. The plain character type is signed by default. The floating-point types float and double are implemented as 32-bit and 64-bit IEEE floating-point.
| Data Type | Size in bytes | Alignment in bytes |
| char |
1 |
1 |
| unsigned char |
1 |
1 |
| int |
2 |
1 |
| unsigned int |
2 |
1 |
| short |
2 |
1 |
| unsigned short |
2 |
1 |
| long |
4 |
1 |
| unsigned long |
4 |
1 |
| long long |
8 |
1 |
| unsigned long long |
8 |
1 |
| float |
4 |
1 |
| double (compiled with -msd) |
4 |
1 |
| double |
8 |
1 |
| long double |
8 |
1 |
| type * (pointer) |
2 |
1 |
| enum (enumeration) |
2 |
1 |