lo se en C
tipo de retorno de sizeof
el operador es size_t
siendo un tipo entero sin signo definido en <stdint.h>
. Lo que significa que el tamaño máximo debe ser 65535
como se indica en C99
estándar 7.18.3:
limit of size_t
SIZE_MAX 65535
Sin embargo en gcc-4.8.2
archivo de cabecera stdint.h
ha definido su tamaño mucho mayor que 65535
en contradicción con lo establecido en C99
estándar como se muestra a continuación,
/* Limit of `size_t' type. */
# if __WORDSIZE == 64
# define SIZE_MAX (18446744073709551615UL)
# else
# define SIZE_MAX (4294967295U)
# endif
Amablemente ayúdame a entender por qué hay una diferencia o razón detrás de mi mala interpretación.
Cómo obtener SIZE_MAX en C89
– phuclv
7 de junio de 2017 a las 1:58