よくある質問 | Programming Place Plus

トップページ

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

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

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

main(void)
{
    return 0;
}

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

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

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

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

回答:「エラー」という言葉だけでは状況が伝わってこないことが多いので、この部分をできるだけ詳細にお伝えください。単に自分が想定した結果にならなかったことを指して、エラーと言っている方もおられるのですが、自分の理想的な結果が、他人の想像する結果と同じだとは限りません。

たとえば、Visual Studio で、ビルドを行うとエラーが出たという場合もあれば、実行時にプログラムが停止してしまうようなことをエラーと言っていることもあります。

いずれにしても、具体的に、「どんなことがしたくて」「どういうことをしたら」「どこでどうなったのか」を明確に書いてみてください。また、OS の種類 (Windows、macOS など) やバージョン、コンパイラの種類やバージョンなど、使っている環境についての情報があると回答しやすいこともあります。

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

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

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

ただし、当サイトも含め、個人サイトの記事というのは、信頼性は劣ると言わざるを得ません。正確な情報を知りたければ、お使いの開発環境を提供している組織の公式ドキュメントを参照したり、標準規格の仕様書を参照したりするべきです。

Visual Studio を使っているのなら、Microsoft社の Microsoft Docs に情報があります。これは新しい情報ですが、少し古い情報源として、MSDNライブラリにも大量の資料があります。いずれにしても、右上の検索窓に、関数の名前を入力して検索をかければ、必要な情報にアクセスできるはずです。

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

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

回答:明らかな間違いはお伝えいただければ修正致しますが、あらゆる要望にお応えするということではありません。

当サイトの情報は、標準規格に厳密に従うことには、それほどこだわっていません。標準規格に忠実な解説やサンプルプログラムがお望みであれば、当サイトは適切な情報源ではありません。そこまでの信頼度が必要ならば、そもそも規格文書に取り組むべきでしょう。

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

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

質問:XXX を扱うコンテンツを追加する予定はありませんか?

回答:過去にも要望をいくつか頂いておりますが、ほとんど実現できていません。基本的に、まったくの新規コンテンツの追加要望にはお応えできなさそうです。既存のコンテンツで、解説が抜けている機能の追加要望といった小さなものなら、お応えできるかもしれません。

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

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

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

ただし、バグがないことを保証しているわけではありませんから、何かトラブルが起きても自己責任でお願い致します。

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

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

回答:基本的に自由にして頂いて構いません

サイトのトップページには「サイトの大部分をそのままコピーして、自分のものであるかのように掲載する行為はご遠慮ください。」と書いていますが、これは、私以外の人間があたかも自分の作品であるかのように振る舞うことを禁止したものです。

何らかの理由で、学内・社内からインターネットへのアクセスが難しいこともあるでしょうから、サイトのコピーを非公開のサーバに置くことについても制限はありません(多少、最新版より古くなりますが、オフライン版もご活用ください)。

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

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

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

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

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



更新履歴

’2018/4/2 全面的に改訂。

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

’2015/3/28 新規作成。



Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイートフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る