- ゲームプログラム入門「Cをはじめよう、C言語ってどんなもの?」
- Cをはじめよう、C言語ってどんなもの?
- 「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
ゲームプログラム入門「Cをはじめよう、C言語ってどんなもの?」
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介
「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
Cをはじめよう、C言語ってどんなもの?
C言語は、パソコンなどのコンピュータを動かすためのプログラミング言語です。コンピュータはCPU(CentralProcessingUnit)という人間の頭脳にあたる部品と、メモリ(Memory)という情報を記憶する部品が中心になってできています。
メモリにプログラムを記憶させるとそれに従ってCPUが動き出し、計算したりメールを送ったりビデオや音楽を再生したりといったさまざまな仕事を行うわけです。
コンピューターの機械語を人間が理解しやすい言語にしたのがプログラミング言語
CPUを動かすプログラムは、マシン語または機械語と呼ばれる数値の集まりなのですが、コンピュータの専門家でも数値だけでプログラムを書くのはさすがに大変。ということで、人間が理解しやすい英単語などを使ったプログラムを組むための言葉が作られました。それがプログラミング言語であり、C言語もそのひとつです。
世界でも1、2位を争うプログラマーの人口を抱える「C言語」
C言語が誕生したのは1970年代。それが今でも使われています。日進月歩で変化するコンピュータの世界で、何十年も現役を続けているというのはとてもすごいことです。しかも、C言語を使うプログラマーの人口は世界でも1、2位を争うほど多いのです。
C言語が使われている2つの理由
C言語はそんなにすばらしい言語なのでしょうか?実は、C言語より後に作り出された、もっと覚えやすくて書きやすいプログラミング言語はたくさんあります。それでもC言語が使われているのは次の2つの理由からです。
- 速いプログラムが書ける
- 拡張性が高い
C言語は速いプログラムが書ける!
人間が理解できるプログラミング言語をコンピュータで実行する方法は、大きく分けて2とおりあります。それが「コンパイラ方式」と「インタープリタ方式」です。
速いプログラムを作れる「コンパイラ方式」
人間がプログラミング言語で書いたプログラムを、コンパイラ(Compiler)というプログラムを使ってマシン語に翻訳し、できあがったマシン語のプログラムを実行します。
人間が書いたプログラムをソースコード(SourceCode)、コンパイルして作られたマシン語のプログラムを実行ファイル(ExecutableFile)と呼びます。
修正がしやすい「インタプリタ方式」
ソースコードの形でそのまま配布し、実行するときにインタープリタ(Interpreter)というプログラムが1行ずつソースコードを解読して仕事を行います。実行中に解読するため実行速度は遅くなりますが、プログラムの修正がすばやく行えるというメリットがあります。
C言語は速さがウリのコンパイラ方式
C言語は速さがウリですからコンパイラ方式です。ただし、それだけが速い理由ではありません。C言語以外にもコンパイラ方式の言語は沢山あるのですが、その多くがソースコードを中間言語と呼ばれるマシン語っぽいものに翻訳し、仮想マシンと呼ばれるプログラム上で動作する方式を取っています。
そうすることで、1つのプログラムをWindowsやMacOSなどの違う種類のOS上で動かせるようにしたり、実行中に起きたプログラムの異常動作を防いだりすることができるようになっています。柔軟で安全志向なわけです。
ブレーキなしでCPUの性能を限界まで引き出す「C言語」
C言語はそんな余計なことは一切しません。Windows向けにC言語で作ったプログラムはWindows上でしか動きません。MacOSで動くものが欲しかったら作り直しです。また、プログラムの実行中に異常が起きてもかまわず突っ走ります。
「ブレーキなしでCPUの性能を限界まで引き出す」それがC言語なのです。
その速さのおかげで、OS、アプリケーション、ゲームなどの速く動かないと困るプログラムの開発に使われています。
C言語はライブラリで拡張できる
C言語の本体はものすごくシンプルな作りになっていて、それだけでは引き算・足し算などの簡単な計算ぐらいしかできません。
その代わり、C言語はライブラリ(Library)を取り込んで、命令を増やすことができます。たとえば、Windows用ライブラリを取り込めばWindows上で動くプログラムを作ることができます。
また、MacOS用ライブラリを取り込めばMacOS上で動くプログラムを作ることができます。その他にも3Dゲーム用ライブラリや、ビデオ再生用ライブラリ、インターネット通信用ライブラリなど様々なものがあるので、それらをどんどん取り込めば、どんなプログラムでも作れるようになります。
「C言語を覚えればどんなプログラムでも作れる」?
ただし、「C言語を使えばどんなプログラムでも作れる」からといって、「C言語を覚えればどんなプログラムでも作れる」とは限りません。というのは、ライブラリごとに命令の使い方がまったく違うからです。
あるライブラリの使い方を覚えても、他のライブラリを使うときは新たに覚え直さなければいけません。すべての環境で共通なのは、基本的な数値計算や文字列処理を行う標準ライブラリ(StandardLibrary)だけです。
でも、標準ライブラリだけでは地味なコンソールアプリケーションしか作れないので、たいていは他のライブラリを組み合わせて使うことになります。そこが「クセモノ」です。
C言語の世界
同じWindows用のライブラリを使っていても、プログラムの作り方が違うことがある―それがC言語の世界です。
C++は覚えたほうがいいの?
ハードウェアの進歩に合わせて、プログラムはどんどん多機能で複雑なものになってきています。C言語が誕生した1970年代は、大型コンピュータでも数100キロバイトのメモリしか積んでいませんでしたが、現在では個人で買えるパソコンでも1万倍以上大きい1~2ギガバイトが当たり前です。その分、プログラムも大きくなりました。
1980年代に誕生した新しいC言語
プログラムの規模が大きくなると、C言語の文法(書き方のルール)では対応しきれなくなってきます。そこで、1980年代に新しいC言語が作り出されました。それがC++です。
C++は「オブジェクト指向」や「テンプレート」などの新しいアイデアを取り込み、巨大で複雑なプログラムが書きやすくなっています。
C++を覚えれば、C言語も覚えたことになる
C++はC言語の文法をそのまま取り込んでいるので、C++コンパイラを使っていてもC言語の文法だけを使ったプログラムを作ることができます。つまりC++を覚えれば、C言語も覚えたことになるわけです。
C言語よりC++を覚えたほうがいい?
では、C言語よりC++を覚えたほうがいいのでしょうか?
実はそうとは言い切れません。なぜなら、C++はとても難しいのです。C言語は部分的に難しいところもありますが、最新のプログラム言語に比べたらルールが少なくてシンプルです。
しかしC++は、それより後に作られたプログラム言語の半分が、「C++を簡単にすること」を目指して作られたといっていいぐらい複雑なのです。
また、C++で作れるプログラムはC言語でも作れます。最終的にできあがるのはマシン語の実行ファイルですから、プログラミング言語は何を使おうと関係ありません。
このサイトではC++の文法もいくつか説明する予定です。ただし、基本的にはC言語を中心にご紹介します。
C言語を中心にしてC++の簡単で便利な文法だけをつまみ食い
C言語を中心にしてC++の簡単で便利な文法だけをつまみ食いして使うことをベターC(betterC)といいます。ちょっと便利で良くなったC言語という意味ですね。
仕事ならともかく趣味で使うならベターCでも十分ですし、そのほうが挫折しにくいので結果として満足度も高くなるでしょう。
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介
「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介
「ゲームプログラミング > C言語入門/基礎」関連ページをご紹介します。
【STG】シューティングゲーム・サイトマップのご紹介
80年から2000年代のシューティングゲームについてご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
シューティングゲーム・関連ページのご紹介
シューティングゲーム・関連ページをご紹介します。
歴代名作シューティングゲームのご紹介|まとめ
歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
シューティングゲームの人気シリーズのご紹介
シューティングゲーム関連ページのご紹介|まとめ
シューティングゲーム解説ページのご紹介|まとめ
シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
シューティングゲーム雑誌/書籍関連のご紹介|まとめ
【ゲームジャンル別】サイトマップのご紹介
【ゲームジャンル別】サイトマップをご紹介します。
ゲームジャンル別サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 |
||||
ゲームジャンル別TOP >関連ページ│名作│ランキング | ||||
【ジャンル別関連ページ】 アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【アクション】プラットフォーム│対戦アクション│FPS│TPS│STG│フライト 【アドベンチャー】AVG│ 【RPG】RPG│SRPG│ARPG 【SLG】SLG│ストラテジー│ターン制SLG│RTS 【レース】レース 【スポーツ系】スポーツ│プロレス 【パズル】 【テーブル】麻雀 |
||||
【ジャンル別】おすすめ評価ランキング アクション│AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【歴代傑作・神ゲー(2021~1996年)】99~94点│93~92点│91点│90点 ■【アクション系ゲーム】■ アクション│プラットフォーム│対戦アクション│FPS│TPS│フライト│ 【対戦アクション】一覧│98~80点│79~70点 【FPS】まとめ│90点以上│89~86点│85~83点│82~80点 【アドベンチャーゲーム】 ■【RPG系】■ RPG│SRPG│ARPG 【RPG】一覧│傑作(96~90点)│89~85点│84~82点│81~80点│ ■【シミュレーション系ゲーム】■ SLG│ストラテジー│ターン制SLG│RTS│街づくりSLG ■【レース】■ ■【スポーツ系ゲーム】■スポーツ│プロレス ■【パズル】 |
||||
シリーズ・テーマ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲームジャンル別・関連ページのご紹介
ゲームジャンル別・関連ページをご紹介します。
【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
【格ゲー・名作】アーケード・家庭用・格闘ゲームのご紹介~名作(173 本)・全タイトル(1462本)のご紹介
【名作STG】シューティングゲームのご紹介
【AVG】アドベンチャーゲームのご紹介│まとめ│
【名作RPG】RPGのご紹介│まとめ│
【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
【TOP】パズルゲームのご紹介
ゲームTOPサイトマップ
ゲームTOPのサイトマップをご紹介します。
【ゲームTOP】サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | ||||
■ランキングTOP > ハード│ソフト(売上(世界│国内)│海外評価) ■傑作・名作ゲームTOP > ■ゲーム機種別TOP > 据置│携帯│AC│PC│周辺機器 ■ジャンル別TOP > アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲーム関連ページのご紹介
ゲーム関連ページをご紹介します。
【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
ジャンル別ゲームタイトルのご紹介│まとめ│
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。