double (*foo)(double);
C のコードで上のように宣言されたとき,foo は何を表していますか?

プログラミング初心者です.
よろしくお願いします.

A 回答 (1件)

関数ポインタですね。


状態変数等によって呼び出し関数を変える時に、関数ポインタのテーブルを引っ張ってきて呼び出したりすることがあります。

double (*foo[])(double) = {func1, func2, func3};

とかあった場合
int idx = 1;
double param = 1.1;
double ret;
ret = (*foo[idx])(param);

とすれば

ret = func2(param);

とするのと同じことです。
    • good
    • 0
この回答へのお礼

少し調べて理解しました。関数のポインタですか・・想像できませんでした。
素早いご返答ありがとうございます。

お礼日時:2010/10/22 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ