// Filename: test.c
#include <sys/types.h>
int main() {
uint a;
return 0;
}
上述代码能够使用gcc和clang编译,标准为gnu89或gnu99。换句话说,以下内容可以正常工作。
$gcc test.c # for the default is std=gnu89
$clang test.c # for the default is std=gnu99
然而,以下代码会出现错误:"undeclared uint"。
$gcc -std=c99 test.c
$clang -std=c99 test.c
有人能解释一下为什么在C99标准中,uint的定义消失了吗?