我遇到了一些C代码,其中'unsigned'单独声明一个变量,如下所示:
unsigned crc = 0;
我认为这很奇怪,因为我希望这里有一个显式变量类型。我很惊讶没有任何编译器警告或错误(MDK-Lite 5.12)。
那么,这是否有效,它产生了什么样的变量?
答案 0 :(得分:8)
来自C specification,第6.7.2节:
- unsigned,或unsigned int
意味着unsigned
未指定类型时,默认为unsigned int
。因此,撰写unsigned a
与unsigned int a
相同。