C 資料類型
在 C 語言中,資料類型指的是用來宣告不同類型的變數或函數的一個廣泛的系統。變數的類型決定了變數儲存所佔用的空間,以及如何解釋儲存的位元模式。
C 中的型別可分為以下幾種:
#序號 | 類型與描述 |
---|---|
#1 | 基本類型: 它們是算術類型,包括兩種類型:整數類型和浮點類型。 |
2 | 枚舉類型: 它們也是算術類型,被用來定義在程式中只能賦予其一定的離散整數值的變數。 |
void 類型: | #類型說明符 void 表示沒有可用的值。 |
衍生型別:
它們包含:指標型別、陣列型別、結構型別、共用體型別和函式型別。
整數類型 | 下表列出了關於標準整數類型的儲存大小和值範圍的細節: | |
---|---|---|
類型 | 儲存大小 | 值範圍 |
char | 1 位元組 | -128 到127 或0 到255 |
unsigned char | 1 位元組 | #0 到255 |
signed char | 1 位元組 | -128 到127 |
#int | 2 或4 位元組 | -32,768到32,767 或-2,147,483,648 到2,147,483,647 |
unsigned int | 2 或4 位元組 | 0 到65,535 或 |
0 到65,535 或 | ##294,#967,##short | 2 位元組 |
unsigned short | 2 位元組 | |
long | 4 位元組 |
注意,各種類型的儲存大小與系統位數有關,但目前通用的以64位元系統為主。
以下列出了32位元系統與64位元系統的儲存大小的差異(windows 相同):
為了得到某個類型或某個變數在特定平台上的準確大小,您可以使用sizeof 運算子。表達式 sizeof(type) 得到物件或類型的儲存位元組大小。下面的實例示範了取得int 類型的大小:
#include <stdio.h>#include <limits.h>int main(){ printf("int 存储大小 : %lu \n", sizeof(int)); return 0;}
當您在Linux 上編譯並執行上面的程式時,它會產生下列結果:
int 存储大小 : 4
浮點類型
下表列出了關於標準浮點類型的儲存大小、值範圍和精確度的細節:
類型 | ##儲存大小值範圍 | 精度 | |
---|---|---|---|
4 位元組 | 1.2E-38 到3.4E+38 | 6 位元小數 | |
#8 位元組 | 2.3E-308 到1.7E+308 | 15 位元小數 | |
16 位元組 | 3.4E-4932 到1.1E+4932 | #19位元小數 |
#include <stdio.h>#include <float.h>int main(){ printf("float 存储最大字节数 : %lu \n", sizeof(float)); printf("float 最小值: %E\n", FLT_MIN ); printf("float 最大值: %E\n", FLT_MAX ); printf("精度值: %d\n", FLT_DIG ); return 0;}當您在Linux 上編譯並執行上面的程式時,它會產生下列結果:
float 存储最大字节数 : 4 float 最小值: 1.175494E-38float 最大值: 3.402823E+38精度值: 6void 類型void 類型指定沒有可用的值。它通常用於以下三種情況:
#類型與描述 | |
---|---|
##1 | #函數傳回為空|
void exit (int status); | 2 | 函數參數為空
int rand(void); | 3 | #指標指向void
傳回指向 void 的指針,可以轉換為任何資料型別。