數據以二進制存儲於內存,字節(8位)為最小操作單元。為管理數據,在內存劃分區域、起名、規定類型:
int a; // 開闢存整數的區域,命名為 a a = 123; // 賦值:將 123 放入 a 對應的內存
int = integer(整數),= 為賦值運算符(非數學等於)。可合寫:int a = 123;
值可改變:a = 1000; a = 9999; 後值為 9999,舊值覆蓋。**值可變故稱「變量」。**
int a; → 變量定義a = 123; → 賦值/初始化根因涉及 C 標準演進(C89 vs C99),詳見《C語言變量的定義位置以及初始值》與《C語言的兩套標準》。
內存中全是 0/1,00010000 是數字 16?像素顏色?聲音?**數據類型**確定解釋方式,消除歧義。
| 說明 | 類型 |
|---|---|
| 字符型 | char |
| 短整型 | short |
| 整型 | int |
| 長整型 | long |
| 單精度浮點 | float |
| 雙精度浮點 | double |
| 無類型 | void |
這些為基本類型,可組合成複雜類型(數組、結構體、指針等)。
int a, b, c; float m = 10.9, n = 20.56; char p, q = '@';
同類型、逗號分隔、可選初始化。
類型除指定解釋方式,**還指定長度**(佔用字節數)。32位環境典型長度:
| 類型 | char | short | int | long | float | double |
|---|---|---|---|---|---|---|
| 長度 | 1 | 2 | 4 | 4 | 4 | 8 |
知類型即知長度,知長度才知讀取邊界。
int n;、char c;、float money; 確定了內存所有要素。
C 屬強類型,**類型只在定義時指定一次,使用時無需再寫**。