int和signed int声明之间的区别

Ano*_*non 13 c int standards types declaration

我正在阅读有关嵌入式编程的一些教程,其中一个说int并且signed int不同但不解释如何或为什么.

我明白了为什么unsigned intint是不同的,但intsigned int被不同的是,对我来说是新的.

Ber*_*ann 17

这仅仅是出于历史原因.今天,每当你声明int你得到一个signed int.即使对于今天的编译器,您可能会看到差异的唯一一点是,char与规则signed char不同(在分配文字字符串时值得注意)但不是int.

  • 它的实现定义了`char`是带符号类型还是无符号类型.无论它是哪一个,它仍然是与`signed char`和`unsigned char`不同的类型,正如eznme所说的那样.所以标准确实说了*关于它的东西*,它说实现需要记录它是否签名:-) (7认同)
  • @Anon - 事实是,它是_undefined_默认情况下`char`是`signed`还是`unsigned`.标准对此没有任何说明. (2认同)

CCo*_*der 5

据我所知,仅 char 数据类型存在差异。char a;可以在哪里signed char a;unsigned char a;取决于编译器选项。正如这篇文章所说。int(--signed_chars) 对于 int 数据类型,和 之间没有区别signed int