C 列挙型のソースを表示
新しいページはコチラ
移動:
案内
,
検索
※このページではC言語にも存在していたという意味で記事タイトルがC ポインタになっていますが、<br /> [[C PlusPlus|C++]]でも同様です。[[C PlusPlus|C++]]だけの機能がある場合は明記します。<br /> <br /> == '''列挙型''' == 列挙型という名前自体が日本語としてもあまり使わない単語の型なので、なんともつかみどころのない型ですが、世界中のプログラマの中ではよく使われているという超人気の構文です。列挙って何?って感じですが、EnumrationとかEnumeratorといった単語を素直に日本語に訳したら列挙だったみたいな感じです。「(順序)番号割り当て型」くらいがちょうどよい日本語なのですが、これではあんまりにも幼稚な感じもあるというところなのかもしれません。 よくC言語マニュアルなんかでは enum 列挙型名{識別子1,…,識別子n}; として宣言できると記述されています。全くそのとおりなのですが、何をしたいのかがよくわかりません。そして利用する際には 列挙型名 列挙変数名; として定義することで利用ができるとあります。かくいう自分もこれを説明するのにどうやって説明するのがわかりやすいのか思いつきませんでしたので、さっそく具体的なサンプルコードを示して、それから解説することにしたいと思います。列挙型を理解するには辛抱強さが必要だと感じました。とにかく読み進めて下さい。 <syntaxhighlight lang="cpp" line start="1"> #pragma once #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]){ enum enumAction{ ACTION_STOP, ACTION_START, ACTION_PAUSE, ACTION_RECORD, ACTION_RESTART, ACTION_NEXTCHAPTER, ACTION_PREVCHAPTER }; enumAction enumActionSignal; enumActionSignal = ACTION_STOP; printf("%d\n",enumActionSignal); switch(enumActionSignal){ case ACTION_STOP: printf("ACTION_STOP\n"); break; case ACTION_START: printf("ACTION_STOP\n"); break; case ACTION_PAUSE: printf("ACTION_STOP\n"); break; case ACTION_RECORD: printf("ACTION_STOP\n"); break; case ACTION_RESTART: printf("ACTION_STOP\n"); break; case ACTION_NEXTCHAPTER: printf("ACTION_STOP\n"); break; case ACTION_PREVCHAPTER: printf("ACTION_STOP\n"); break; default: printf("Unknown\n"); break; } } </syntaxhighlight> 上記プログラムの出力結果は以下です。 <syntaxhighlight lang="text"> 0 ACTION_STOP </syntaxhighlight> で、列挙型って何?って感じのプログラムかもしれませんが、この程度の使い方でもあるわけでして、なんともシンプルかつ不可解な存在だと言えると思います。
C 列挙型
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ