- ベストアンサー
ほんの些細なことですが…(マクロ名の意味がわかりません)
次のプログラムは # 演算子の使い方を示しているものです。 #include <stdio.h> #define MKSTRING(str) # str int main(void) { int value; value = 10; printf("%s の値は %d です", MKSTRING(value), value); return 0; } 【質問】 マクロ名の「MKSTRING」についてですが、STRINGは文字列と分かりますが、MKが何を意味するのか分かりません。 質問するまでもない些細なことですが、ご存知の方がいらっしゃれば教えてください。お願いします。 (この質問が不快に思われた方は謝ります。ごめんなさい!)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
真意は書いた人にしか分かりませんが、おそらく「MK」は「MaKe」の意味だと思います。このマクロが何をしようとしているのか考えれば、それしか考えられません。 こういうこともあるので、特別な事情が無い限り、第三者が見て理解できないような名前は使うべきではありません。
その他の回答 (3)
- tatsu99
- ベストアンサー率52% (391/751)
このマクロは、valueという変数を"value"という文字列に変換するものです。したがって、このマクロに名前をつけるなら、「変数を文字列に変換する」または、「変数から文字列を作る」ということが、読みとれればよいかと思います。 従って、VAR_TO_STRING,MAKE_STRING,等が(個人的には)考えられます。ですので、MKSTRINGで良いのではないでしょうか。
お礼
こんな質問に回答して頂き、ありがとうございます! どうも「MKSTRING」は「MAKE_STRING」でよさそうですね。 マクロ名やユーザー定義関数の名前をつける際には、 どういうことをするものなのかが分かるよう、私も気をつけたいと思います。 回答本当にありがとうございました。
- hid_hid_hid
- ベストアンサー率38% (298/768)
MKSTRINGは、「MK+STRING」ではなく、「MKSTRING」という、単に書いた人が勝手につけた名前です。 マクロ名や変数名は、ある規則にしたがってさえいれば自由につけられますので・・・ (一部以外の記号はつかえないとか、はじめに数字がつけられないとか) 想像ですが、「マクロ」をローマ字にして「MAKURO」で、 その頭のMKをとったのではないかと。 まあ、名前の理由はあまり気にしないことです。
お礼
回答ありがとうございます! 答えにくい質問をしてごめんなさい。 マクロ名の意味がわからなくて、ちょっと気持ち悪くて質問しただけなんです!! いちいち名前の意味を考えてたら先に進めないですよね! あまり気にしないようにします。 回答どうもありがとうございました。
- aris-wiz
- ベストアンサー率38% (96/252)
このソースを書いた人に聞いてください としか言えないと思いますが・・・? 名前などを気にするよりもっと他に、 学ぶべきことががあると思いますよ。
お礼
回答ありがとうございます! >もっと他に、 >学ぶべきことががあると思いますよ。 そうですね!ここで時間をくってはいけないですね! マクロ名の意味がわからなくて、ちょっと気持ち悪くて質問しただけなんです!! 回答ありがとうございました。
お礼
回答ありがとうございます!! プログラムを書いたのが外国人なため、名前の意味がわからなくて質問しました。 「MaKe」の「MK」ですか…分かりました! >第三者が見て理解できないような名前は使うべきではありません。 まさにそうですね!私も自分でプログラムを組む際は気をつけます!! 回答どうもありがとうございました。