|
|
1
7
没有这样的保证。
虽然实现通常具有相同的大小
还要注意
编辑: 在这个答案之后,问题发生了一些变化…所以: 所以问题是,你是否可以假设或者你是否保证在C99之前的版本中保持size_t的时间足够长。
即使在C89中也没有这种保证。
另一个问题是,是否有任何保证size_t适合任何其他标准化整数类型(除了明显的异常,如ssize_t、ptrdiff_t等)。
本标准同样没有此类保证。
|
|
|
2
3
不
在C89/C90中,
这种隐含的保证在C99中消失了
即使在C89/C90中,只有当您有一个符合要求的C89/C9实施时,您才可以依赖担保。C99之前的编译器通常在C89/C90标准之上提供扩展——例如,编译器可能支持
问题是关于
具有未定义的行为,除非
对于C99和更高版本,您可以打印
如果愿意,您可以测试
(C标准版本注释。第一个C标准于1989年由ANSI发布。1990年由ISO重新发布,增加了额外的样板部分。所以C89和C90是描述相同语言的两个不同文档。后来的C99和C11标准由ISO发布。所有三个ISO C标准均由ANSI正式采用。因此严格来说,“ANSI C”应指ISO C11——但由于历史原因,该短语仍用于指1989年的标准。) |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |