¿Cuál debería ser el sizeof (int) en una máquina de 64 bits? [duplicar]
Posible duplicado:
tamaño de int, largo, etc
¿El tamaño de un int depende del compilador y / o procesador?
¿Qué decide el tamaño de un entero?
Estoy usando un64-bit
máquina.
<code>$ uname -m x86_64 $ file /usr/bin/file /usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped $ </code>
Cuando ejecuté el siguiente programa, obtuve elsizeof(int)
como4-bytes
.
<code>#include <stdio.h> int main(void) { printf("sizeof(int) = %d bytes\n", (int) sizeof(int)); return 0; } </code>
Si estoy ejecutando un16-
, 32-
y64-
máquina de bits, entonces no significa que el tamaño de unainteger
es16-
, 32-
y64-
bit respectivamente?
En mi máquina, encontré elWORD_BIT
es32
. No deberia ser64
en un64-bit
¿máquina?
<code>$ getconf WORD_BIT 32 $ </code>
Y, ¿no debería elsizeof(int)
ser64-bits
(8 bytes
) en el caso anterior?