よくある質問

このエントリーをはてなブックマークに追加

これまでに頂いたご質問の中から幾つか、回答をまとめて掲載しておきます。

C言語で書いたプログラムがコンパイルできません。

質問:C言語編の最初に登場する次のプログラムが、コンパイルに失敗してしまいます。

main(void)
{
	return 0;
}

回答:VisualC++ の場合、ソースファイルの拡張子を「.c」にしておかないと、C言語のプログラムであると認識しません。 VisualC++ でファイルを新規作成した場合、恐らく「.cpp」になっており、 その場合、このプログラムを C++ で書かれたものであると認識します。
C++ としてコンパイルすると、次のようなエラーメッセージを出すはずです。

error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません

「XXX」というプログラムを書いたのですがエラーが出ます。

質問:「XXX ということがしたくてプログラムを書いたのですが、エラーが出てしまいます。どうしたらいいのでしょうか?」

回答:「XXX」の部分は割と具体的なのですが、後半が曖昧な質問が多くて、回答に困ることがあります。「エラー」という言葉だけでは状況が伝わってこないです。
例えば、VisualC++ で「ビルド」を行ってエラーが出たという場合もあれば、実行してみると突然、強制終了が掛かったような動作になってしまうという場合もあります。単に、自分が想定した結果にならなかったことを指して「エラー」と言っている方も見受けられます。
多少、文章量が多くなってしまっても良いので、具体的に、「どんなことがしたくて」「どういうことをしたら」「どこでどうなったのか」を明確に書いてみて下さい

標準関数を使いたいが、コードにどう組み込んでいいのか分からない。

質問:ある目的を達せられる(達せられそうな)標準関数の存在は知っていますが、使おうとするとコンパイルできません。多分、#include が必要なのですが、何をインクルードすればいいのか分かりません。

回答:どうやら調べる手段というものが分からないということのようです。関数名まで分かっているのなら、Google で検索すればほぼ答えは出ると思います。例えば、C言語の qsort関数のことを調べるなら「qsort」で検索するだけです。
ただ、世の中にはC言語以外にも多くのプログラミング言語があり、名前が被っていると余計な情報もたくさん出てくるかも知れません。その場合は、「qsort C言語」のように検索して絞り込むなどすればいいでしょう。

ただし(当サイトも他人事ではありませんが)、個人サイトの記事というのは、あまり信頼性が高くないと言わざるを得ません。正確な情報を知りたければ、お使いの開発環境を提供している組織の公式ドキュメントを参照したり、標準規格の仕様書を参照したりするべきです。
VisualC++ を使っているのなら、Microsoft社の MSDNライブラリを調べるのが妥当でしょうか。あまりに情報量が多くて、探し出すのが大変ですが、それなら Google で「qsort MSDN」のように検索したら良いと思います。

また、辞書系の書籍を手元に置いておくのも手ですね。C言語なら「Cクイックリファレンス」は、初心者にはちょっと難しいですが、情報が豊富です。

解説やサンプルコードが標準規格に沿っていない。

質問:サイト内の説明文や、取り上げられているプログラムが、標準規格と照らし合わせると適切でないことがあります。

回答:ご指摘はありがたく頂戴致しますが、常に要望にお応えするということではありません。

例えば、C言語編第0章に、「規格にこだわるよりも、上記のコンパイラで動作することを重視しています」と書いているように、当サイトは、標準規格の解釈には、それほどこだわっていません。規格に忠実な解説やサンプルプログラムがお望みであれば、当サイトは適切な情報源ではありません。

勿論、積極的に、標準規格を無視したり、必要以上に軽視したりするつもりはありませんし、適宜「規格上は〜」のようなことを書いていることはあります。「規格上は〜」と書いているのに、その部分が規格的に間違っているのなら、それは嘘になってしまうので、当然修正致します。

開発環境の使い方が分からない。

質問:サイトの記事以前に、そもそも VisualStudio などの開発環境の使い方がよく分かりません。

回答:情報は少ないですし、他のサイト様に丸投げしているだけのことが多いですが、一応「開発ツールの情報」のページがありますので、参考にしてみて下さい。

XXX編の追加予定はありますか?

質問:XXX を扱うコンテンツを追加する予定はありませんか?
(過去に、「デザインパターン」「アセンブラ言語」「ゲームプログラミング」「DirectX」「コンピュータ関連知識」を扱うコンテンツの追加要望が頂いています)

回答:明確な予定はありませんが、できるだけ要望にお応えしたいとは思っています。とはいえ著者は1人しかいませんから、どれだけ時間が掛かるか分からないので、期待なさらない方が良いかと思います。済みません。

サイト内のプログラムをそのまま使ってもいいですか?

質問:サイトに掲載されているプログラムを、そのまま自分のプログラムに組み込んで使用しても構いませんか?

回答:管理者としては、特に何か制限するつもりはありません。金銭的な要求だとか、著作権表記のようなものを入れろ、などということはありませんから、自由にして頂いて構いません。

ただし、バグが無いことを保証している訳ではありませんから、何かトラブルが起きても自己責任でお願いします(特に、中身の理解できないものをそのまま使うことの危険性は認識して下さい)。
バグ報告や、こうするとより良いといったご意見はありがたく頂戴いたしますが、必ずしも修正依頼に応じるということではありません。

教育目的でサイト内の記事を印刷したり、学内・社内のサーバにコピーを置いたりして構わないか。

質問:学生へのプログラミングの授業や、新人研修の講義資料で使うなどの理由で、サイト内の記事をそっくりそのまま印刷して配布したり、コピーを丸ごと学内や社内のサーバ(外部には公開していない)に置いたりしても良いでしょうか?

回答:基本的に自由にして頂いて構いません
サイトのトップページには「サイトの大部分をそのままコピーして転載するような度を過ぎたことはしないで下さい。」と書いていますが、これは、私以外の人間が、(特に Web上において)あたかも自分の記事であるかのように振る舞うことを禁止したものです。
セキュリティ的な問題等で、学内・社内からインターネットへのアクセスが難しいこともあるでしょうから、サイトのコピーを非公開のサーバに置くことについても制限はありません(多少、最新版より古くなりますが、オフライン版もご活用ください)。

また、印刷物を配布すると、学校外や社外に持ち帰ってしまうケースもあるでしょうが、どのみち、当サイト自体はインターネット上に公開されているものですから、その印刷物の扱いについても、特に気にしなくて結構です。

リンク先が存在しないことが多いのですが。

質問:「XXX については第YY章を参照」のようなリンクがよく切れているのですが?

回答:著者の場合、新しいコンテンツ(例えばC言語編)を書き始めるとき、最終章までの章割りを先に決めています。未来の章へのリンクが必要になったとき、その時点で予定されている章番号で一旦リンクを作っているので、その段階では存在しないページにリンクされることがあります。
また、予定通りにいかず、章番号がずれていくことがあり、これまでに作ったリンクが追従できていないことがあります。

あるはずのページへリンクされずに、変なページに飛ばされていたら、教えて頂ければすぐに修正致します。未来のページの場合は、そういうものなので無視して頂けるとありがたいです。

更新履歴

'2017/8/8 全面的に改訂。

'2015/3/28 新規作成。



Programming Place Plus のトップページへ