面試題 02.01. 移除重複節點
阿新 • • 發佈:2020-10-26
為什麼:記憶體是在計算機中一片很大且連續的空間,而計算機並不會靈活的根據使用者輸入的內容來分配相應大小的空間,所以多了的話浪費資源,少了的話不夠用,而且不同的資料不可能使用同一種方式儲存(例如字元和整形以及浮點型的儲存方式都有很大的區別),於是不同的資料型別就產生了。
有什麼:C語言中常用的資料型別有7種
char //字元型:1位元組 short //短整型:2位元組 int //整型:4位元組 long //長整型:4位元組 long long //更長整型:8位元組 float //單精度浮點型:4位元組 double //雙精度浮點型:8位元組
sizeof(xxx);
最後一行展示的sizeof()是可以用來計算每種資料型別在自己計算機中到底佔多少個位元組的,因為上述所展示的只是常規的資料型別所佔用的空間大小,然而所佔位數和機器字長及編譯器都有關係,以下是網路上找的資料(具體情況請具體驗證)
以char, short, int, long為例: 16位編譯器:(Turbo C/Turbo C++) sizeof(char) = 1 sizeof(short) = 2 sizeof(float) = 4 sizeof(double) = 8 sizeof(int) = 2 sizeof(long) = 4 sizeof(long double) = 16 sizeof(void *) = 4 32位編譯器:(Visual Studio C++) sizeof(char) = 1 sizeof(short) = 2 sizeof(float) = 4 sizeof(double) = 8 sizeof(int) = 4 sizeof(long) = 4 sizeof(long long) = 8 sizeof(void *) = 4 (表示指標型別資料長度) 64位編譯器: sizeof(char) = 1 sizeof(short) = 2 sizeof(float) = 4 sizeof(double) = 8 sizeof(int) = 4 sizeof(long) = 8 sizeof(long long) = 8 sizeof(void *) = 8
注:int型佔4個位元組,一個位元組是8個bit,就是4 * 8 = 32 個 二進位制位,所能儲存的資料大小(預設無符號)就是從0 ~ 2 ^ 32 - 1大概就是42億,依次類推。