C
1void (*afp[])(void) = {dog, cat, monkey};
たとえば、
(*afp[0])() でdog()を呼び出すことができます。
これはdogとcatとmonkeyという関数のパラメータ及び、返り値がすべて同じ時にしか使えませんよね?
char dog(int a, double b){...}
int cat(void){...}
という風に定義されていて場合、これを上記と同じように配列化することは可能ですか??
どうすれば、できるでしょうか?
また、これを簡素化するためにtypedefを使用すると良いようです。
C
1typedef void (*a)(void); 2 3a afp[] = {dog, cat, monkey};
・・・・?
以下のリンク先にあるように
リンク内容
typedef 既存のデータ型 新しい名前; こうですよね・・・
typedef void (*a)(void); ← これが何をやっているのかわかりません。
void ----> (*a)(void) ではないと思います。
これは何という名前に変えているのですか??
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/21 08:34
2017/01/21 08:59
2017/01/21 09:04
2017/01/21 09:10
2017/01/21 09:14
2017/01/21 11:21