剛開始人們還沒有資料型別這個概念,但是人們經常要使用到固定記憶體大小的記憶體,這個時候那時的程式設計師就要記錄一段資訊在記憶體中的起始位置和終止位置,很不方便,演變到後來就出現了資料型別這個概念
什莫是資料型別:
- 資料型別可以理解為固定記憶體的別名
- 資料型別是建立變數的模子
比如int型別,他在記憶體中佔用四個位元組,我們每次使用int型別建立一個變數的時候的時候就是相當於在記憶體中拿到一段四個位元組的空間,然後我們便可以在這段空間裡面存貯資訊
變數的本質:
- 變數是一段連續存貯空間的別名
- 程式中通過變數來申請並名稱空間
- 通過變數的名字可以使用存貯空間
示例程式碼1:
1 #include <stdio.h> 2 3 int main() 4 { 5 char c = 0; 6 short s = 0; 7 int i = 0; 8 9 printf("%d, %d ", sizeof(char), sizeof(c)); 10 printf("%d, %d ", sizeof(short), sizeof(s)); 11 printf("%d, %d ", sizeof(int), sizeof(i)); 12 13 return 0; 14 }
示例程式碼2:
1 #include <stdio.h> 2 3 typedef int INT32; 4 typedef unsigned char BYTE; 5 typedef struct _tag_ts 6 { 7 BYTE b1; 8 BYTE b2; 9 short s; 10 INT32 i; 11 } TS; 12 13 int main() 14 { 15 INT32 i32; 16 BYTE b; 17 TS ts; 18 19 printf("%d, %d ", sizeof(INT32), sizeof(i32)); 20 printf("%d, %d ", sizeof(BYTE), sizeof(b)); 21 printf("%d, %d ", sizeof(TS), sizeof(ts)); 22 23 return 0; 24 }
小結:
- 資料型別的本質是一個模子
- 資料型別代表要佔用的記憶體大小
- 變數的本質是一段記憶體的別名
- 變數隸屬於某一種資料型別
- 變數所佔用的記憶體大小取決於其所屬型別所佔用的記憶體大小
本人在部落格園的第一篇部落格,C進階系列,希望多多討論。