エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C言語でクロージャを実装すると
簡単なクロージャの例として,引数にnを足す関数を生成する関数をC言語で考える.(詳しくはオブジェク... 簡単なクロージャの例として,引数にnを足す関数を生成する関数をC言語で考える.(詳しくはオブジェクト指向とクロージャ思考をご参照.) まずはお約束の#includeから. #include <stdio.h> #include <stdlib.h> やりたいことはSchemeで言えば (define (make-plus-n n) (lambda (x) (+ n x)))なのだが,レキシカルクロージャを持たないC言語では自前で変数をラップする必要がある.そこで,こんな構造体を作ってみる. struct make_plus_n_context_t { int _n; int (*_func)(const struct make_plus_n_context_t *, int); }; typedef struct make_plus_n_context_t MAKE_PLUS_N_CONT