淺談C語言的基本資料型別
阿新 • • 發佈:2020-12-19
技術標籤:C語言學習
提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文件
文章目錄
前言
學習內容梳理。
C語言中的基本資料型別
1.單位
談基本資料型別之前,首先需要了解一下計算機的儲存單位。
首先,計算機由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用“1”和“0”表示。因此,計算機內部採用二進位制儲存資訊。一個 二進位制位包含的資訊量稱為位元(Bit)、位元就是組成資訊的最小單位。
接下來由小到大談一談其他的儲存單位。
1Byte=8Bit 表示範圍 :2^n(n代表位元位數) ,也就是0~255個無符號整數 or -128~127個有符號整數
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
用通俗易懂的方式解釋1位元組(Byte)的表示範圍,觀察下方八位二進位制數字(由低位往高位看,1個位元位代表1位2進位制數),上方是00000000,下方是00000001,表示兩種狀態。由於每一位的狀態都只有0或者1,根據排列組合-> 1位二進位制數共有兩種狀態、2位二進位制數有4種狀態、3位共8種狀態、以此類題,8位二進位制數就有2^8種狀態,由於從0開始,那麼其能表示的無符號數就是0~255啦。
00000000
00000001
2.基本資料型別
接下里說說資料型別,C語言中的基本資料型別有以下幾類:
基本資料型別 大小 表示範圍 char //字元資料型別 1Byte 0~2^8-1個無符號數 short //短整型 2Byte 0~2^16-1個無符號數 int //整形 4Byte 0~2^32-1個無符號數 C中整數預設為int型 long //長整型 4Byte 0~2^32-1個無符號數 (不同的系統和編譯器的大小可能會是8Byte) long long //更長的整形 8Byte 0~2^64-1個無符號數 float //單精度浮點型 4Byte 0~2^32-1個無符號數 double //雙精度浮點型 8Byte 0~2^32-1個無符號數 C中浮點數預設為double型
對於整形變數(預設有符號),可以用unsigned(無符號數),signed(有符號數)來修飾。例如:
unsigned char a = 128;
我們還可以通過列印sizeof(型別名)
來得到資料型別的大小。例如:
#include<stdio.h>
int main()
{
printf("char的大小是%d個位元組\n", sizeof(char));
printf("int的大小是%d個位元組\n", sizeof(int));
printf("long的大小是%d個位元組\n", sizeof(long));
printf("long long的大小是%d個位元組\n", sizeof(long long));
printf("float的大小是%d個位元組\n", sizeof(float));
printf("double的大小是%d個位元組\n", sizeof(double));
return 0;
}
以上程式碼在32位VS2017中執行結果如圖:
學過其他程式語言的朋友可能會發現,以上資料型別並沒有提到字串型(string),那麼C語言中可以表示字串嗎?答案是可以的, C語言中通過 ->char 字串名[]= "字串內容"
來定義一個字串。
3.為什麼出現這麼多的型別?
- 因為對於不同的物件,不同的資料型別更具有代表性。
- 因為各資料型別的大小和表示範圍不同、給各個型別分到不同的空間,可以達到節約空間的目的。
- 便於計算機儲存與處理。
總結
以上就是我關於C語言基本資料型別總結的一些筆記,不足之處、歡迎補充指正!