相关疑难解决方法(0)

size_t的最大大小

我知道C返回类型的sizeof运算符是size_t在中定义的无符号整数类型<stdint.h>.这意味着它的最大尺寸应该65535在规定作为C99标准7.18.3:

limit of size_t
  SIZE_MAX             65535
Run Code Online (Sandbox Code Playgroud)

但是在gcc-4.8.2头文件stdint.h中定义的大小远远大于标准中所述的与下面所示的65535相矛盾的大小C99,

/* Limit of `size_t' type.  */
# if __WORDSIZE == 64
#  define SIZE_MAX              (18446744073709551615UL)
# else
#  define SIZE_MAX              (4294967295U)
# endif
Run Code Online (Sandbox Code Playgroud)

请帮助我理解为什么在我的误解背后存在差异或原因.

c gcc sizeof c99 size-t

36
推荐指数
1
解决办法
5万
查看次数

__STDC_LIMIT_MACROS和__STDC_CONSTANT_MACROS是什么意思?

我在我的系统的标准C++库中看到了这一点,以及我正在使用的库中的一些头文件.

这两个定义的语义是什么?对于像这样的#defines,除了源本身之外还有一个很好的参考吗?

c++ macros stl

34
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

c++ ×1

c99 ×1

gcc ×1

macros ×1

size-t ×1

sizeof ×1

stl ×1