2012-10-18 818 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

相關問題