| 
 
 型名から有符号型か無符号型かを判定するマクロを作る。 #define is_signed(type) ( ((type)-1) < 0 ) #define is_unsigned(type) ( 0 < ((type)-1) ) is_signed マクロの動作を確認する#define is_signed(type) (((type)-1)<0) #define print_type(type) printf( "%16s: %s\n", #type, (is_signed(type) ? "signed" : "unsigned") ) //********************************************************* // is_signed マクロの使用例 //********************************************************* int main( void ) { print_type(char); print_type(unsigned char); print_type(short); print_type(unsigned short); print_type(int); print_type(unsigned int); print_type(long); print_type(unsigned long); print_type(float); print_type(double); // print_type(void); // コンパイルできません // print_type(bool); // コンパイルできません print_type(clock_t); print_type(ptrdiff_t); print_type(sig_atomic_t); print_type(size_t); print_type(time_t); print_type(wchar_t); print_type(wctrans_t); print_type(wctype_t); print_type(wint_t); return 0; }//main 実行結果
            char: signed
   unsigned char: unsigned
           short: signed
  unsigned short: unsigned
             int: signed
    unsigned int: unsigned
            long: signed
   unsigned long: unsigned
           float: signed
          double: signed
         clock_t: signed
       ptrdiff_t: signed
    sig_atomic_t: signed
          size_t: unsigned
          time_t: signed
         wchar_t: unsigned
       wctrans_t: unsigned
        wctype_t: unsigned
          wint_t: unsigned
 | 
 | 
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
>> Amazon.co.jp 『たまゆら童子』 へ
>> 楽天ブックス 『たまゆら童子』 へ