首頁 > 軟體

C語言資料儲存歸類介紹

2022-08-01 14:03:40

資料型別的介紹

在前面的章節中我們基本認識到了各種資料型別,這裡我們就稍微回憶以下吧

型別的意義:

  • 決定了存取記憶體空間的大小
  • 決定了看待記憶體空間的視角(例如:整型和字元資料型別)

型別的基本歸類

整型家族:

char
    unsigned char
    signed char
short
    unsigned short [int]
    signed short [int]
int
    unsigned int
    signed int
long
    unsigned long [int]
    signed long [int]

浮點型家族:

float
double

構造型別:

> 陣列型別
> 結構體型別    struct
> 列舉型別    enum
> 聯合型別    union

指標型別:

int *pi;
char *pc;
float *pf;
void *pv;(泛型指標)

空型別:

void 表示空型別 (無型別)

通常用於 函數的返回型別、函數的引數、指標型別

//作為函數的返回型別
void f1()//不接受任何返回值
{
    ;
}
//作為函數的引數
int f2(void)//引數為void時,傳入引數會報錯
{
    ;
}
//作為指標型別
void* f3(void* pv)//引數為 void* 時,可接收任意型別的引數
{
    ;
}

整型在記憶體中的儲存

計算機中的整數有三種2進位製表示方法,即原始碼、反碼、二補數。

三種表示方法均有符號位和數值位

符號位: " 0 " 表示 正," 1 "表示 負

數值位:

正數:

原碼、反碼、二補數相同

負數:

原碼:直接將數值按二進位制翻譯

反碼:原碼符號位不變,其它位按位元取反

二補數:反碼+1

我們可以在記憶體中的儲存看到:

這裡大家可能有個疑問,為什麼ji在記憶體中會是這樣?為什麼ij內部二進位制會倒過來儲存呢??編譯器壞了


IT145.com E-mail:sddin#qq.com