<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 3. 數據類型 在 C 語言中,數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。 C 中的類型可分為以下幾種: | 類型 | 說明 | | --- | --- | | 基本類型 | 它們是算術類型,包括兩種類型:整數類型和浮點類型。 | |枚舉類型 | 它們也是算術類型,被用來定義在程序中只能賦予其一定的離散整數值得變量。 | |void 類型 | 類型說明符 void 表名沒有可用的值 | |派生類型| 它們包括:指針類型、數組類型、結構類型、共用體類型和函數類型。 | 數組類型和結構類型統稱為聚合類型。函數的類型指的是函數返回值的類型。 **整數類型** 下表列出了關于標準整數類型的存儲大小和值范圍的細節 |類型 | 32 位機/單位:字節 | 64 位機/單位:字節 | 值范圍 | | --- | --- | --- | --- | | char | 1 | 1 | -128 到 127 或 0 到 255 | |unsigned char | 1| 1| 0 到 255 |int| 4| 4| -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |unsigned int| 4| 4| 0 到 65,535 或 0 到 4,294,967,295 |short| 2| 2| -32,768 到 32,767 | |unsigned short |2| 2| 0 到 65,535| |long | 4 | 8| -2,147,483,648 到 2,147,483,647| |unsigned long| 4| 8| 0 到 4,294,967,295 | >[info] 注意: 各種類型的存儲大小與系統位數有關,但目前通用的以 64 為系統為主。 以下列出了32位系統與64位系統的存儲大小的差別(windows 相同): ![](https://www.runoob.com/wp-content/uploads/2014/09/32-64.jpg) **浮點類型** | 類型 | 比特(位)數 | 有效數字 | 取值范圍 | | --- | --- | --- | --- | |float | 4 | 6~7 | 1.2E-38 到 3.4E+38 | |double |8 |15~16 |2.3E-308 到 1.7E+308 | |long double |16 | 18~19| 3.4E-4932 到 1.1E+4932 | 他們的字節,精度,取值范圍都可以通過代碼打印實現,如下: ``` #include <stdio.h> //#include <limits.h> #include <float.h> #include <stdlib.h> void main() { /** * 整數類型 */ printf("整數類型 \n"); //char 1 字節 printf("char 存儲大小: %lu \n", sizeof(char)); printf("unsinged char 存儲大小: %lu \n", sizeof(unsigned char)); //short 2 字節 printf("short 存儲大小: %lu \n", sizeof(short)); printf("unsinged short 存儲大小: %lu \n", sizeof(unsigned short)); //int 4 字節 printf("int 存儲大小: %lu \n", sizeof(int)); printf("unsinged int 存儲大小: %lu \n", sizeof(unsigned int)); //long 4/8 字節 printf("long 存儲大小: %lu \n", sizeof(long)); printf("unsinged long 存儲大小: %lu \n", sizeof(unsigned long)); /** * 浮點類型 */ printf("\n 浮點類型 \n"); //float 4 字節 ,精度 6 位小數 printf("float 存儲最大字節數:%lu \n", sizeof(float)); printf("float 最小值:%e \n", FLT_MIN); printf("float 最大值:%e \n", FLT_MAX); printf("float 精度值:%d \n", FLT_DIG); //double 8 字節 printf("double 存儲最大字節數:%d \n", sizeof(double)); printf("double 最小值:%e \n", DBL_MIN); printf("double 最大值:%e \n", DBL_MAX); printf("double 精度值:%d \n", DBL_DIG); //long double 16 字節 printf("long double 存儲最大字節數:%lu byte \n", sizeof(long double)); printf("long double 最小值:%lg \n", LDBL_MIN); printf("long double 最大值:%lg \n", LDBL_MAX); printf("long double 精度值:%d \n", LDBL_DIG); } ``` 輸出結果 ``` 整數類型 char 存儲大小: 1 unsinged char 存儲大小: 1 short 存儲大小: 2 unsinged short 存儲大小: 2 int 存儲大小: 4 unsinged int 存儲大小: 4 long 存儲大小: 4 unsinged long 存儲大小: 4 浮點類型 float 存儲最大字節數:4 float 最小值:1.175494e-38 float 最大值:3.402823e+38 float 精度值:6 double 存儲最大字節數:8 double 最小值:2.225074e-308 double 最大值:1.797693e+308 double 精度值:15 long double 存儲最大字節數:8 byte long double 最小值:2.22507e-308 long double 最大值:1.79769e+308 long double 精度值:15 請按任意鍵繼續. . . ``` 可以通過 sizeof 關鍵字來獲取數據類型占用內存的大小。 上面代碼可以看到了打印中出現了很多不識的 scanf() 格式控制符,我總結了一個表,可以參考下: | 格式控制符 | 說明 | | --- | --- | | %c | 讀取一個單一的字符 | |%hd、%d、%ld | 讀取一個十進制整數,并分別賦值給 short、int、long 類型 |%ho、%o、%lo | 讀取一個八進制整數(可帶前綴也可不帶),并分別賦值給 short、int、long 類型 |%hx、%x、%lx | 讀取一個十六進制整數(可帶前綴也可不帶),并分別賦值給 short、int、long 類型 |%hu、%u、%lu| 讀取一個無符號整數,并分別賦值給 unsigned short、unsigned int、unsigned long 類型 |%f、%lf |讀取一個十進制形式的小數,并分別賦值給 float、double 類型 |%e、%le | 讀取一個指數形式的小數,并分別賦值給 float、double 類型 |%g、%lg| 既可以讀取一個十進制形式的小數,也可以讀取一個指數形式的小數,并分別賦值給 float、double 類型 |%s | 讀取一個字符串(以空白符為結束)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看