2012-10-18 812 views
11

我正在阅读一些关于嵌入式编程的教程,其中一个说intsigned int是不同的,但没有解释如何或为什么。int和signed int声明之间的区别

我明白为什么unsigned intint是不同的,但intsigned int是不同的是一个新的我。

+2

这对我来说也是新的。网上说的教程?如果是这样,一个链接将不胜感激。 –

回答

13

仅出于历史原因。今天,只要您声明int,您就会得到signed int。您可能会发现与现在的编译器有所不同的唯一的一点是charsigned char,它们根据规范(并且在分配字符串时显着)而不是int不同。

+0

char和signed char有什么区别呢?你能举个例子吗? – Anon

+2

@Anon - 事情是,它的_undefined_默认情况下,'char'是'signed'还是'unsigned'。标准对此没有提及。 –

+0

@Kiril,谢谢。从我+1。干净利落。 – Anon

2

据我所知,只存在char数据类型的区别。其中char a;可以是signed char a;unsigned char a;,具体取决于编译器选项。正如this article所说。 (--signed_chars) 对于int数据类型,intsigned int之间没有区别。

+0

+1,接受Eznme的回答,因为他/她回答的时间与您的回答相同。 – Anon

+1

'char'与'unsigned char'或'signed char'都不是同一个类型,尽管它与其中一个具有相同的范围和表示。 –

+0

@SteveJessop你能解释一下吗?或者指点我可以阅读的地方? – CCoder

相关问题