2.1 數據類型
C語言的數據結構以數據類型的形式出現,不同的數據類型代表了不同的數據結構。C 語言提供了非常豐富的數據類型,包括基本數據類型、構造類型、指針類型和空類型4類。
基本數據類型又稱非構造型數據類型,包括整型、字符型、實型(又稱浮點型)和枚舉類型。實型又包括單精度型和雙精度型。基本數據類型最主要的特點是,如果某個數據為基本數據類型,則該數據的值不可以再分解為其他數據類型。
構造類型又稱復雜數據類型,是根據已定義的一個或多個數據類型用構造的方法來定義的。也就是說,一個構造類型數據的值可以分解成若干個“成員”(或“元素”或“域”),其中每個“成員”的值為基本數據類型或構造類型。在C語言中,構造類型包括數組類型、結構體類型、共用體類型。
指針類型是一種特殊的,同時又具有重要作用的數據類型。其值用來表示某個量在內存儲器中的地址。
空類型(void)通常用于明確說明調用一個函數不需要向被調函數返回函數值,這時被調用的函數類型說明符為void。
C語言的數據類型綜合表示如圖2.1所示。
C 語言中的基本類型數據在程序中按其值是否可以改變分為常量和變量兩種表示形式。在程序執行過程中,其值不發生改變的量稱為常量,其值可變的量稱為變量。常量和變量與基本數據類型結合起來可分為整型常量、整型變量、實型常量、實型變量、字符型常量、字符型變量、枚舉型常量、枚舉型變量。在程序中,常量可以不經說明而直接引用,而變量則必須先定義后使用。
在C語言程序中,每一個數據(常量或變量)都必須明確其數據類型,不存在不屬于某種數據類型的數據。
本章主要介紹C語言基本數據類型(除枚舉類型外),其他數據類型將在后續章節中詳細介紹。