Ich weiß hinein C
Rückgabetyp von sizeof
Betreiber ist size_t
ein vorzeichenloser ganzzahliger Typ ist, der in definiert ist <stdint.h>
. Was bedeutet, dass es maximal groß sein sollte 65535
wie angegeben in C99
Standard 7.18.3:
limit of size_t
SIZE_MAX 65535
Allerdings drin gcc-4.8.2
Header-Datei stdint.h
hat seine Größe viel größer als definiert 65535
im Widerspruch zu dem steht in C99
Standard wie unten gezeigt,
/* Limit of `size_t' type. */
# if __WORDSIZE == 64
# define SIZE_MAX (18446744073709551615UL)
# else
# define SIZE_MAX (4294967295U)
# endif
Bitte helfen Sie mir zu verstehen, warum es einen Unterschied oder Grund für meine Fehlinterpretation gibt.
So erhalten Sie SIZE_MAX in C89
– phuklv
7. Juni 2017 um 1:58 Uhr