タグ

2016年9月17日のブックマーク (2件)

  • C言語で、関数ポインタを返す関数の宣言方法 - IT-Walker on hatena

    関数はメモリを占有するオブジェクトなので、そのポインタを取得できるのは誰でも知っている。 戻り値int、引数なしの関数をさすポインタfuncを定義する。 int (*func)(void); // 戻り値 (*名称)(引数リスト) 関数ポインタの配列はこんな感じ。 戻り値int、引数なしの関数をさす関数ポインタの配列funcsを定義する。 int (*funcs[10])(void); // 戻り値 (*名称[配列要素数])(引数リスト) これだけでもよくわからんが、今日「関数ポインタを返す関数」をどう宣言したらよいか、で詰まってしまった。WakhokのMLなどに質問を投げ、得られた答えは次のとおり。返したい関数のプロトタイプはint returned_func(void)とする。 typedefで関数ポインタの型を作成してしまう方法。 typedef int (*returned_fun

    s_hiiragi
    s_hiiragi 2016/09/17
    関数の戻り値の型に関数ポインタを書く方法
  • POINTER「配列とポインタの完全制覇」「C言語 ポインタ完全制覇」

    タイトルは「C言語 ポインタ完全制覇」。 このページの書籍化とはいえ、内容の大半は書き下ろしですので、 既にWebで読んでおられる方にも決して損はさせません。 詳細はこちらへどうぞ。 「C言語 ポインタ完全制覇(第2版)」書籍情報 「C言語 ポインタ完全制覇」書籍情報(旧版) 技術評論社さんによる書籍案内はこちら。 第2版 旧版 修正履歴は、このページの末尾にあります このページについて 全くもって僭越ながら、恐れおおくも偉そうにも、 こんな文書をWWWで公開させていただくことにしました。 この文書は、もともと社内向けの教科書として作成したものです。 私は、一介の文系出身プログラマであり、 特に情報関係の教育を受けたわけでもなく、 プログラミング言語に深い造詣を持っているわけではありません。 この文書にも多くの誤りや、誤解を招く表現があるかと思います。 そのような記述を見付けられた方は、ぜ