next up previous contents
Next: B.12 C で負の添字を使う方法 Up: B. がらくた箱 Previous: B.10.0.0.1 printf デバッグ

B.11 数学定数どうしよう?

例えば $ \pi$ などはどうしよう?

  1. 自分で定義する。
            #define pi 3.14159265358979323846
    
    あるいは
            double pi = 3.14159265358979323846;
    
    この方法は などの短所がある。
  2. ``math.h'' あるいは ``values.h'' の中の定義を利用する。
            #include <math.h>
            #define PI M_PI
    
    ポータビリティーB.13があるかどうか少し心配。
  3. 数学関数を利用して計算する。
            #include <math.h>
            ...
            double PI = 4.0 * atan(1.0);
    
    この方法の欠点は、(i), (ii) のような単純な定義、代入文とは異なり、初等 関数の呼び出しはコンパイル時にしてくれないので、初期化をするところをき ちんと用意しないといけないことである。例えば
            #include <stdio.h>
            #include <math.h>
            double PI = 4.0 * atan(1.0);
            main()
            {
               ...
            }
    
    は間違いで、
            #include <stdio.h>
            #include <math.h>
            double PI;
            main()
            {
               ...
               (宣言文の終り)
               PI = 4.0 * atan(1.0);
            }
    
    のようにしないといけない。


next up previous contents
Next: B.12 C で負の添字を使う方法 Up: B. がらくた箱 Previous: B.10.0.0.1 printf デバッグ
Masashi Katsurada
平成18年4月28日