C語言有五種基礎資料型別 (Elementary Data Type):字元、整型、單精確度實型、雙精確度實型和空類型。儘管這幾種類型資料的長度和範圍隨處理器的類型和C語言編譯器的實現而異,但以b i t為例,整數與CPU字長相等,一個字元通常為一個位元組,浮點值的確切格式則根據實現而定。對於多數微機,表2 - 1給出了五種資料的長度和範圍。
表中的長度和範圍的取值是假定C P U的字長為1 6 b i t。
C語言還提供了幾種彙總類型(aggregate types),包括數組、指標、結構、共用體(聯合)、位域和枚舉。這些複雜類型在以後的章節中討論。
除v o i d類型外,基本類型的前面可以有各種修飾符。修飾符用來改變基本類型的意義,以便更準確地適應各種情況的需求。修飾符如下:
• signed(有符號)。
• unsigned(無符號)。
• long(長型符)。
• short(短型符)。修飾符s i g n e d、s h o r t、l o n g和u n s i g n e d適用於字元和整數兩種基本類型,而l o n g還可用於d o u b l e(注意,由於long float與d o u b l e意思相同,所以A N S I標準刪除了多餘的long float)。
表2 - 2給出所有根據A N S I標準而組合的類型、字寬和範圍。切記,在電腦字長大於1 6位的系統中,short int與signed char可能不等。
*表中的長度和範圍的取值是假定C P U的字長為1 6 b i t。因為整數的預設定義是有符號數,所以s i n g e d這一用法是多餘的,但仍允許使用。某些實現允許將u n s i g n e d用於浮點型,如unsigned double。但這一用法降低了程式的可移
植性,故建議一般不要採用。為了使用方便,C編譯器允許使用整型的簡寫形式:
• short int 簡寫為s h o r t。
• long int 簡寫為l o n g。
• unsigned short int 簡寫為unsigned short。
• unsigned int 簡寫為u n s i g n e d。
• unsigned long int 簡寫為unsigned long。
即,i n t可預設。