/* グローバル変数 */ float glb_x, glb_y, glb_z; /* ベクトル(in_x, in_y, in_z)にベクトル(1,1,1)を足した結果を計算して * (out_x, out_y, out_z)に出力する */ void hoge3(float in_x, float in_y, float in_z, refer out_x, refer out_y, refer out_z){ out_x = in_x + 1.0; out_y = in_y + 1.0; out_z = in_z + 1.0; in_x = in_x + 1.0; // 実はこんなことしても意味がない in_y = in_y + 1.0; // 実はこんなことしても意味がない in_z = in_z + 1.0; // 実はこんなことしても意味がない // in_x〜in_zはhoge3内のローカル変数なので、 // このように数値を更新してもhoge3終了と同時に忘れてしまう } /* グローバル変数のベクトル(glb_x, glb_y, glb_z)にベクトル(1,1,1)を足す */ void hoge4(){ glb_x = glb_x + 1.0; glb_y = glb_y + 1.0; glb_z = glb_z + 1.0; } /* 使用例 */ void event_func3(){ //(略) float x,y,z, ans_x,ans_y,ans_z; x=1.0; y=2.0; z=3.0; ans_x=0.0; ans_y=0.0; ans_z=0.0; hoge3(x,y,z,ans_x,ans_y, ans_z); // xは1,yは2,zは3のままだが、ans_xは2,ans_yは3,ans_zは4になっている glb_x=1.0; glb_y=2.0; glb_z=3.0; hoge4(); // glb_xは2,glb_yは3,glb_zは4になっている //(略) }