Red de conocimientos sobre prescripción popular - Conocimiento de perdida de peso - En lenguaje C, el número de bytes ocupados por int, char y datos cortos en la memoria.

En lenguaje C, el número de bytes ocupados por int, char y datos cortos en la memoria.

Para resumir: para la mayoría de las máquinas de 32 bits, la memoria ocupada es: carácter char tipo 1; 2 enteros int short 2; sin embargo, diferentes máquinas y diferentes software de compilación serán diferentes. Entonces puedes usar la función sizeof() para probarlo. Ejemplo sizeof(char);

La siguiente es mi respuesta. Cuando respondí esta pregunta antes, era un entusiasta del desarrollo de microcontroladores. El int en el microcontrolador C51 es en realidad de 16 bits, dos bytes.

Actualmente se dedica al desarrollo de software de aplicaciones. En estos compiladores (como vs y gcc), int es generalmente de 4 bits (ya sea de 32 o 64 bits). De hecho, la explicación oficial es que el compilador puede elegir el tamaño apropiado según su propio hardware, pero debe cumplir con restricciones: los tipos short e int deben tener al menos 16 bits, el tipo largo debe tener al menos 32 bits, la longitud del tipo corto no puede exceder la longitud del tipo int, y la longitud del tipo int no puede exceder la longitud del tipo int. Esto significa que la longitud de cada variable de tipo la determina el compilador.