在c中unsigned short int和unsigned short decleration之間是否有區別,如果是這樣,請問它是什麼?我試着在網上尋找,但找不到任何有價值的東西。unsigned short int和unsigned short之間的區別
unsigned short int x1;
unsigned short x2;
最後,如果有差異,我該怎麼把它們分別給彼此?
在c中unsigned short int和unsigned short decleration之間是否有區別,如果是這樣,請問它是什麼?我試着在網上尋找,但找不到任何有價值的東西。unsigned short int和unsigned short之間的區別
unsigned short int x1;
unsigned short x2;
最後,如果有差異,我該怎麼把它們分別給彼此?
從C11 [PDF](不相關部分省略)(重點煤礦):
6.7.2.2:
至少一個類型說明應在聲明指定在每個聲明, 並且在給予每個結構聲明和類型名稱中的說明符限定符列表。 類型說明符的每個列表應該是以下多個集合中的一個(用逗號分隔,當 每個項目有多個多集時);類型說明符可能以任何順序出現,可能與其他聲明說明符混合使用 。
- ...
short
,signed short
,short int
,或者signed short int
unsigned short
,或unsigned short int
- ...
6.7.2.5:
每個逗號分隔的多集的指定相同類型 ...
只需使用short
是一種簡短的(無雙關語意圖的)寫作方式short int
。只需long
就是long int
的簡稱。
它們是同義詞。如果你的編譯器做了與他們不同的事情,那就是壞了。
沒有區別。試試sizeof
運營商:
main()
{
unsigned short int x1;
unsigned short x2;
printf("%d/%d\n", sizeof x1, sizeof x2);
}
兩者沒有差異。
第二個被認爲是一個int並且簡單地被省略。
沒有區別。 – Daniel 2013-04-29 16:31:26