プログラム組み立て係

≫2009年10月04日

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

関数ポインタ

関数ポインタというポインタの宣言方法を紹介します。
関数ポインタは、変数のようにして関数を呼び出すことが可能になります。

↓のような感じ




#include <stdio.h>

// 返り値 (型設定)(引数)として関数ポインタを型として設定
typedef int (*FUNC)( int );

// 引数に1を足して返り値として返す
int add_one( int num )
{
 num++;
 return num;
}

// 引数に2を足して返り値として返す
int add_two( int num )
{
 num+=2;
 return num;
}

int main()
{
 int num = 0;
 int count;  //ループカウンター
 FUNC add[2] = { add_one, add_two };

 for( count = 0 ; count < 100 ; count++ )
 {
  if( count < 50 )
  {
   num = add[0]( num ); // num = add_one( num ); と同じ機能を持つ
  } else {
   num = add[1]( num ); // num = add_two( num ); と同じ機能を持つ
  }
  printf( "Number:%d\n", num );
 }

 return 0;
}




宣言しやすいように関数をtypedefで設定してあります。
このソースでは、最終的にnum変数が150になるようになっています。
読めばなんとなくそうなるような気がww
(ちゃんとコンパイルして確認しましたよww)

使い方は人それぞれで、その時によるものなので覚えておいて損は無いと思います。
スポンサーサイト

 | HOME | 

プロフィール

δキリン

Author:δキリン
パソコン関連のことについて
いろいろつづっていきたいと
思っています。

相互リンクは大歓迎ですよ!

もし良かったら、
ポチっとよろしくお願いします



※関係ないページ表示されたとき、
 下の検索フォームから検索してください


最新記事


カテゴリ

TOP (1)
C言語 (19)
HTML (2)
ハードウェア (5)
ソフトウェア (11)
美少女ゲーム (25)
音楽 (2)
アニメ (3)
不定期日記 (15)
本 (4)
雑記 (6)
未分類 (0)

月別アーカイブ


最新コメント


アクセスカウンター


検索フォーム


RSSリンクの表示


リンク

このブログをリンクに追加する

応援中

『airy[F]airy (エアリィフェアリィ)』応援中! 『ひだまりバスケット』応援中です! キスと魔王と紅茶 PULLTOP se・きらら バナー

ブロとも申請フォーム

この人とブロともになる


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。