Jaki powinien być sizeof (int) na komputerze 64-bitowym? [duplikować]

Możliwy duplikat:
rozmiar int, long, itp
Czy rozmiar int zależy od kompilatora i / lub procesora?
Co decyduje o wielkości liczby całkowitej?

Używam64-bit maszyna.

<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>

Kiedy uruchomiłem następujący program, dostałemsizeof(int) tak jak4-bytes.

<code>#include <stdio.h>

int main(void)
{
    printf("sizeof(int) = %d bytes\n", (int) sizeof(int));

    return 0;
}
</code>

Jeśli biegam16-, 32- i64- bitowa maszyna, to nie znaczy, że ma rozmiarinteger jest16-, 32- i64- odpowiednio?

W mojej maszynie znalazłemWORD_BIT jest32. Nie powinno tak być64 na64-bit maszyna?

<code>$ getconf WORD_BIT
32
$ 
</code>

I nie powiniensizeof(int) być64-bits (8 bytes) w powyższym przypadku?

questionAnswers(4)

yourAnswerToTheQuestion