El número de bytes de int en lenguaje C
Entonces son 4 bytes.
Si es '0', esta es la letra inglesa, que es el tipo char, y debería ser 1 byte. Esto no se debe necesariamente a que el estándar ASCII-C (es decir, el estándar C89, el último es el estándar IOS-C) requiera que el tipo se actualice a int al procesar datos de tipo de caracteres, pero no todos los compiladores siguen esta regla. Entonces, el compilador vc6.0 y el compilador gcc de Linux sizeof('0 ') es 4, el compilador cc de Unix-AIX sizeof('0 ') es 1 (probé estos compiladores en estos diferentes sistemas).
Además, si es 0.0, será una constante de tipo doble de forma predeterminada y sizeof(0.0) es 8.
Por supuesto, me refiero a la situación de los sistemas de 32 bits. El tipo int de los sistemas de 32 bits es de 4 bytes.