2020年4月19日 星期日

C 語言 - size_t 及各個常見類型

    typedef unsigned int size_t // 通常定義在 stddef.h

    int8     : -128 ~ 127
    int16    : -32768 ~ 32767
    int32    : -2147483648 ~ 2147483647
    int64    : -9223372036854775808 ~ 9223372036854775807
    
    uint8    : 0 ~ 255
    uint16   : 0 ~ 65535
    uint32   : 0 ~ 4294967295
    uint64   : 0 ~ 18446744073709551615

    uint8_t  : 0xFF
    uint16_t : 0xFFFF
    uint32_t : 0xFFFFFFFF
    uint64_t : 0xFFFFFFFFFFFFFFFF

Related Posts:

  • C/C++ - 左值、右值 ( lvalue、rvalue )lvalue、rvalue 基本概念 左值 (lvalue) : 一個佔據某個特定記憶體的值。 右值 (rvalue) : 一個 expression 結束後就消失的值。 基本上這兩個定義包含了全部的值,非左即右,非右即左。 int var = 4; // var 參數佔據記憶體 = lvalue 4 = var; // 4 不佔據記憶體 = rvalue (var + 1) = 4; // var … Read More
  • C 語言 - sprintf / snprintf sprintf (char *s, const char *format, ...)     C 語言並沒有其他語言方便的 container 去作字串轉換,所以 sprintf 就顯得強大許多。原理就是 printf 但輸入到字串。但會有 overflow 的 issue 產生。 int main() { char str[5]; sprintf(str, "ABC"); … Read More
  • C 語言 - enum enum - 列舉 enum direction { North, // 0 South, // 1 East, // 2 West // 3 }; 可搭配 typedef typedef enum direction Direction; enum direction { North, So… Read More
  • C 語言 - 正規表示法實作 ( regex.h )regex.h (Linux 原生, Windows 再說)     Regex.h 實作主要分 3 階段,regcom, regexec, regfree。 // 要被批配的 buffer 跟一些參數 int status, len, i; char buf[1024], data[1024]; getdata(data); // 正規表示式的會要先 compile (regcomp… Read More
  • C 語言 - function pointer 函數指標 function pointer 概念     基本上有 data 的 pointer 就會有 function 的 pointer。 正確的 ( 回傳 int 的 function ) int (*pfi)(); 錯誤的 ( 回傳 int pointer 的 function ) int *pfi(); function pointer 宣告     利用 typedef,… Read More

0 意見:

張貼留言

Popular Posts