Cの探求?

R

rose_mary

Guest
こんにちは部屋。、

どのように入力することができます同じ私は、関数へのポインタをすることができます返す宣言関数ですか?私の状態次の関数のだ構¥築とステートマシンを1つの関数ごとにポインタを各状態のが返されます。しかし、私は関数を宣言できませんへの道を見つける。

plsはすぐに私に答える

 
それはcomp.lang.cよくある質問質問1.22の:
http://www.eskimo.com/〜のscs/C-faq/q1.22.html

 
宣言の関数ポインタの配列です。次に、呼び出された関数を返します、次の関数は配列のインデックスに呼び出します。
のように:

コード:/*---ステートマシン機能¥します。
---*/uint16_tにスタンバイ(ボイド);

uint16_tに開始(ボイド);

uint16_tに(ボイド実行している);/*---ステートマシン。
---*/列挙型(スタンバイ= 0、始動、がRUNNING);/************************************************* ********************

*関数名:メイン

*概要:プログラムのエントリポイント。

定数関数ポインタの初期化配列。

スタンバイモードに初期化ステートマシン。

実行ステートマシン。************************************************** *******************/メイン(ボイド)int16_t



(*定数Motor_State [])(void)を=(スタンバイ、開始を実行)uint16_tに。

uint16_tにステート=スタンバイ。(;;){の

ステート= Motor_State [状態](); / *コール状態関数* /



)/*---の例---*/呼び出すuint16_tにスタンバイ(ボイド)



/ *は、スタンバイものを行う* /

/ *状態遷移* /

戻り値の始動;

)/*---エンドファイルの。
---*/
 

Welcome to EDABoard.com

Sponsor

Back
Top