C語言定字

整數定字

語言書標準

請注意根據標準,整數各型別間大小為以下所示
char <= short <= int <= long int <= long long int

因為C可能實作在各種機器和環境上
要求8bit單晶片實現32bit整數是沒有效率的
所以標準書使用最寬鬆的規定

範例

以最小可容納型別為主

  • 123456
      1. int
      2. long int
      3. long long int
    
  • 123456L
      1. long int
      2. long long int
    
  • 123456LL
      1. long long int
    
  • 123456U
      1. unsigned int
      2. unsigned long int
      3. unsigned long long int
    
  • 123456UL
      1. unsigned long int
      2. unsigned long long int
    
  • 123456ULL
      1. unsigned long long int
    
  • 0xFFFF (十六進位表示法)
      1. int
      2. unsigned int
      3. long int
      4. unsigned long int
      5. long long int
      6. unsigned long long int
    
  • 0377 (八進位表示法)
      1. int
      2. unsigned int
      3. long int
      4. unsigned long int
      5. long long int
      6. unsigned long long int)
    

浮點數定字

預設為double
沒有浮點運算器的高級機器上,可以使用整數運算模擬
低階機器或cpu開機時尚未初始化浮點運算器時,不能使用

    a. 1.5       (double)
    b. 10e15     (double)
    c. 6.23e-23  (double)
    d. 2.1f      (強迫使用float)

字元定字

    1. 'a'           (ASCII編碼)
    2. L'a'          (wchar_t)
    3. u'a'          (unicode 16bit)
    4. U'a'          (unicode 32bit)
    5. '\137'        (ASCII八進位表示法)
    6. '\x05f'       (ASCII十六進位表示法)
    7. '\u1234'      (unicode 16bit 十六進位表示法)
    8. '\U12345678'  (unicode 32bit 十六進位表示法)

字串定字

    1. "abcdefg"     (ASCII編碼)
    2. u8"123"       (utf-8)
    3. u"123"        (unicode 16bit)
    4. U"123"        (unicode 32bit)

陣列定字

    {1,2,3,4,5,6}

結構定字

    { 1, 2.0, 'a', "abcdefg" }