Duplicar posible:
size of int, long, etc
Does the size of an int depend on the compiler and/or processor?
What decides the sizeof an integer?¿Cuál debería ser el tamaño de (int) en una máquina de 64 bits?
estoy usando una máquina 64-bit
.
$ 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
$
cuando me encontré con el siguiente programa, me dio la sizeof(int)
como 4-bytes
.
#include <stdio.h>
int main(void)
{
printf("sizeof(int) = %d bytes\n", (int) sizeof(int));
return 0;
}
Si estoy corriendo una máquina 16-
, 32-
y 64-
poco, entonces no significa que el tamaño de un integer
es 16-
, 32-
y 64-
bits, respectivamente?
En mi máquina, encontré que el WORD_BIT
es 32
. ¿No debería ser 64
en una máquina 64-bit
?
$ getconf WORD_BIT
32
$
Y, no debe ser el sizeof(int)
64-bits
(8 bytes
) en el caso anterior?
No soy una persona C, pero creo que el tamaño de cualquier cosa excepto 'char' es específico del compilador, y tampoco es necesariamente del tamaño de una palabra en el procesador. – Ryan
http://stackoverflow.com/questions/589575/size-of-int-long-etc – Perception
@minitech: char es también compilador específico – Dani