What is meant by the most restrictive type in C?
The book The C Programming Language talks about "the most restrictive type" in section 8.7, Example — A Storage Allocator : Although machines vary, for each machine there is a most restrictive type: if the most restrictive type can be stored at a particular address, all other types may be also. On some machines, the most restrictive type is a double ; on others, int or long suffices. In their code, the union header is aligned using the type long . What is meant by the most restrictive type? Is it perhaps the largest type (e.g., double ), or is there another approach? CPUs often require that