- ベストアンサー
double (*foo)(double);
double (*foo)(double); C のコードで上のように宣言されたとき,foo は何を表していますか? プログラミング初心者です. よろしくお願いします.
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関数ポインタですね。 状態変数等によって呼び出し関数を変える時に、関数ポインタのテーブルを引っ張ってきて呼び出したりすることがあります。 double (*foo[])(double) = {func1, func2, func3}; とかあった場合 int idx = 1; double param = 1.1; double ret; ret = (*foo[idx])(param); とすれば ret = func2(param); とするのと同じことです。
お礼
少し調べて理解しました。関数のポインタですか・・想像できませんでした。 素早いご返答ありがとうございます。