> on x86/amd4 sizeof(int) will always be equal to 4
Nothing is stopping your C compiler from making the guarantee sizeof(int)=4 on x86/amd64.
Nothing is stopping your C compiler from making the guarantee sizeof(int)=4 on x86/amd64.
Even today, an implementation may define unsigned overflow.
The parentheses are part of the operand and only needed for type names, to make them into cast expressions.
That means that programmers don’t have to use trial and error to figure out how the compiler behaves and don’t have to _hope_ they found all the corner cases.