- ベストアンサー
C言語でのプログラミングの基本とは?
- C言語でのプログラミングの基本について教えてください。
- C言語でのプログラミングにおいて、ヘッダーファイルやファイルの役割について教えてください。
- C言語でのプログラミングに関するアドバイスを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一言で「C言語」と言っても「C」と「C++」で多少作法が違いますので混ぜて書きます。 >HeaderファイルはJavaでいうと継承みたいなもので、複数のファイルに同じ機能を持たすときに使うのでしょうか? 意味合い的には似た感じです。 「A.c」というソースファイルに記述したプログラム(関数)を「B.c」というソースで使用したい場合等に、「A.c」にある関数の一覧を減ったファイルとして「A.h」に記述しておきます。 「B.c」では「a.h」をインクルードすることで「A.c」の関数が利用できるようになります。 >Javaではクラスがありそれぞれに役割がありますが、 「C++」にもJavaと同じようにクラスの概念はあります(「C」にはありません)。 >Cの場合はファイルごとに大まかな役割を分けるのでしょうか? 「C」でも「C++」でも、「見やすさ」という点ではクラス(機能)単位にファイルは分けた方がすっきりします。
その他の回答 (1)
- zwi
- ベストアンサー率56% (730/1282)
理解して欲しいのは、ファイル分割と機能単位にファイルにまとめる行為は別の概念であるってことです。 まず、基本的なファイル分割の仕方で、ヘッダの役割。 http://www.plustarnet.com/aspil/Programming/c22.htm 単にコンパイル単位を分けてコンパイル時間を短くするものって事です。 ヘッダは関数のプロトタイプと構造体の宣言などを行います。 次に >Cの場合はファイルごとに大まかな役割を分けるのでしょうか? って部分ですが、これは「構造化プログラミング」のモジュール化をファイル単位で行う行為です。 「構造化プログラミング」↓ http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/Intro2Basic/Structure.html ファイル分割とstaticをうまく使うことで、オブジェクト指向のカプセル化も行えますので、より良い設計を目指して下さい。 C言語でオブジェクト指向の書き方を模索している人もいます。 http://www.sage-p.com/cool4/document.html