#author("2018-06-28T14:27:44+00:00","","")
#author("2019-06-07T17:36:13+00:00","","")
#topicpath

//////////////////////////////////////////////////////////////////////////////
* 目次 [#wa4da267]
#contents();


//////////////////////////////////////////////////////////////////////////////
* 可変長引数 [#s98d268c]
- 可変長引数を持つマクロ関数定義
 #define FUNCTION_NAME(...)     printf(__VA_ARGS__)
 
 #define LOG_FUNC_IMPL(file, line, ...)  printf("%s:%d: ", file, line);printf(__VA_ARGS__)
 #define LOG_FUNC(...)                   LOG_FUNC_IMPL(__FILE__,__LINE__, ...)


//////////////////////////////////////////////////////////////////////////////
* # 演算子 [#l97d63d6]
- マクロ関数の引数に、マクロ関数内で # を頭に付けると、渡された変数名を文字列化する。
 #define STRING(str) #str
 
 int main() {
         printf("%sバイトは1キロバイト\n" , STRING(1024));
         return 0;
 }
-- 実行結果:
 1024バイトは1キロバイト








トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS