• ベストアンサー

mbed C言語について

c言語の初歩的な質問です。 http://www.oidenansho.com/elekijack/mbed/2bk0919_gyro_servo/gyro_servo.htm のページにあるプログラムで ♯define on 1 ♯define off 0 ♯define Gy1_offset 0.01 とあるのは、どういう意味でしょうか? どこにどんなふうに反映されるのでしょうか? またprintf %2.5fの意味を教えてください。小数点以下5桁を指定している? 2は何でしょうか? わかる方、お願いします(>_<)

質問者が選んだベストアンサー

  • ベストアンサー
  • ronbori
  • ベストアンサー率33% (7/21)
回答No.1

#define on 1と書いたらプログラム中にonと書いたところはコンパイル時に1に置き換えられます。on以外も同様です。 数字を直接書くと1はどんな意味だったっけ?のように後で分からなくなるので、defineを使って文字列で置き換えて定義することで可読性が良くなります。 %2.5fの2は、最低でも2桁分の領域を確保するという意味です。例えばここに入る数値の整数部分が1桁の場合は、半角スペースが冒頭にひとつ追加されます。桁を揃えて表示したいときなどに使用します。ちなみに%02とした場合、半角スペースではなく0が追加されます。

street22
質問者

補足

ありがとうございます。しかし、その後のプログラムの中に、『on 』の記述がないのはなぜでしょうか? 使用しないのなら特に定義しなくてもいいような気がするのですが…

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

> 使用しないのなら特に定義しなくてもいいような気がするのですが… その通りです。コード中に使われていないdefineは「なくてもいい」ものです。 それがなぜ残っているのかは作者にしかわかりません。

street22
質問者

お礼

ありがとうございます。やはりそうですよね。納得です。

関連するQ&A