• ベストアンサー

C言語 キーワードとは??

プログラミング初心者です。 初歩的な質問ですがよろしくお願いいたします。 現在C言語入門書を読んでいるのですが、「キーワード」と言うのが理解出来ません。 また当該入門書ではキーワードについて 「キーワードとは C 言語が仕様レベルで予約済みの名前のことで、前回のプログラムで紹介した return などはキーワードに属します。」と記載されていいますが理解出来ません。 初心者ですので、例え話なども用い解説してくれれば幸いです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.5

> 予約語とキーワードは同義語なのでしょうか? 厳密な意味では同義ではありません。 キーワードの方が予約語よりも範囲が広いです。 例えばC言語で標準に用意されている関数があります。 これらの関数名とか変数名はキーワードではありますが予約語ではありません。 例えば、freadとかfwrite、これらの関数名は予約語ではありませんから、 プログラマが自分の関数名などに使うことが出来ます。 しかしキーワードとして重要なので、まずどこでも使ってはならない、と コーディング規約などで定められる対象です。 「出来るコト」と「すべきコト」は違う訳です。 またコンパイルやリンクを行う時に、コンパイルオプションやリンクオプションが あります。 これらはコーディングとは関係が無いようですが、経験上それらのキーワードを 使うと妙なエラーが生じるとことがあると思っています。

input_output
質問者

お礼

お返事遅れて申し訳有りません。 詳細に渡り回答してくださりありがとうございます。 大変助かりました。

その他の回答 (4)

  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.4

私も古い人間なので、予約語 と言った方がしっくり来ます。(K&Rの和訳本では予約語と書いてあった気がします。) 厳密には、キーワードと予約語は異なる概念の様ですが、”C言語の入門書”と記載しているので、同じ意味と思っておいても良いでしょう。 様は、言語の仕様で予約されているので、プログラムを書く時に、任意の意味で使用することが出来ない文字列ということです。 関数名や変数名に、 if とか、def とか、C言語で決まった意味を持った文字列、ということですね。 コンパイラは、文字列をひとつひとつ解読していく訳ですから、コンパイラが予約語を解読すると、予め定められた翻訳ルールに従って、プログラムを構築していきます。なので、プログラマが任意にこの予約後を使ってしまうと、コンパイラはプログラマが何をさせたいのか分からなくなってしまい、解読不能となってしまいます。

input_output
質問者

お礼

お返事遅れてしまい申し訳有りません。 詳細に渡り回答してくださりありがとうございました。 大変助かりました。

input_output
質問者

補足

ご回答ありがとうございます。 お返事遅れて申し訳ありません。 では逆に言えばユーザーが任意で名前を指定出来るトークン以外はキーワード(予約語)と解釈してよろしいでしょうか? また私の解釈が間違っている場合は指摘をお願いいたします。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

「予約語とキーワードは同義語なのでしょうか?」と質問する前に調べようとは思いませんでしたか?

input_output
質問者

補足

調べてみて分からない為質問しています。 また自分が理解したと思っても一歩間違えれば独自解釈になってしまう為、自分の考えが正しいのか確かめ為にも質問をします。 まず、この場で質問をすると言う事は一般的に多少は自分で調べたと言う前提があると思いませんか?

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

自分が作った関数の関数名とか、 自分が作った変数の変数名などは、自分で自由に名前が付けられます。 但し、特定のワードはC言語にとって意味があるので、自分が付ける名前には使えません。 そのようなワードを予約語とかキーワードという訳です。 returnやifやwhileなど沢山あります。 但し、return_100とか予約語に他の文字を付け足すと、予約語とは見なされません。 つまり、 int return; →これは予約語を変数名に使ったエラーとなります。 int retutn_100; →これは予約語ではないのでエラーになりません。 但し、return_100などの変数名はセンスが無い、と申し上げておきます。 あくまでも引き合いに出しただけです。 なお、c言語に限らず、殆どの言語には予約語が存在します。

input_output
質問者

補足

回答ありがとうございます。 もう一つだけお願いいたします。 回答者様が回答して下さった内容に「予約語」と言う言葉が有ります。 予約語とキーワードは同義語なのでしょうか?

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.1

あまり意識したことはないですが。 http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89_%28C%E8%A8%80%E8%AA%9E%29 予約されているワード、つまり「変数・関数名には使えない」くらいにおもっておけば良いかも。

input_output
質問者

お礼

ご回答ありがとうございます。 大変助かりました。

関連するQ&A

  • C言語かBasic言語

    プログラミングにチャレンジしようとしている者です。 初心者のため、C言語かBasic言語どちらを勉強していけばいいのかわかりません。 また、最終的には自分でアプリケーションを作ってみたい、と思っています。(ブラウザなど) そこで、「これなら初心者でもチャレンジできる!」という言語を教えていただきたいのです。 できればわかりやすい本などもありましたら教えてください。(入門書など) よろしくお願いします。

  • C言語の本について

    Cを始めて日が浅いのですが、少し理解し始めた(入門から初心者に入った)頃です。 勉強用に本を購入しようと思うのですが、どんな本を選んでいいか分かりませんので教えて下さい。 どんな本が良いのかネットで調べて見たのですが、 「プログラム開発全体に対して注意しなければならないCプログラミング上の諸問題についての解説」や 「上手なプログラム例」 「実践で使えるようなプログラム」 等が書いてある本を読んだ方が上達すると書いてありました。 どのプログラムが上手でどのプログラムが下手かまだ良く分かりません。 「プログラミング言語C第2版/ANSI規格準拠」は買おうと思っています。 ※田舎なので専門書を置いているお店も殆ど無く、手にとって見る事が中々出来ません。 長くなりましたがよろしくお願いします。

  • 独学でC言語を学ぶ際に最適な書籍

    プログラミングのプの字も知らないような全くのド素人が独学でC言語を学ぶ際、 全くのド素人や初心者でも分かり易く理解出来る入門書や解説書をご存知でしょうか? プログラミング経験者の方の視点からのご意見を参考にさせて頂きたく、本質問を投稿致した次第でございます。 書籍の価格や量に関してはどういったものでも構いません。 何か良い書籍はございますでしょうか? 何卒宜しくお願い申し上げます。

  • C言語についての初心者向けの本を探しています。

    C言語についての初心者向けの本を探しています。 C言語・プログラミングなどの知識はないに等しいぐらいです。 最終目標としてはゲームなどをプログラミングしてみたいと思っています。 実際に本屋に言ってみてどれがいいかを探したのですが、 そのような知識のない私のはどれが分かりやすいのかはまったく分かりませんでした。 ネットなどで調べてみた結果、 「猫でも分かるC言語」 「やさしいC」 「明解C言語 入門編」 らへんの本が初心者に向いていると知ったのですが実際はどうなのでしょうか? 実際に呼んだことがある方や、評判を聞いたことのある方はお教えください。 また、このほかにも初心者向けの本がありましたらお教えください。

  • マシン言語をC言語に変換することってできるんでしょうか??

    プログラミング系はまったくもって初心者です。 単純に興味からなのですが C言語→コンパイル→マシン言語 これは理解できたのですが この逆についてはできるのでしょうか?? もしできるのならやり方など教えていただければなと思います。 よろしくお願いします。

  • プログラミング言語

    プログラミング言語のC言語とかJavaとかPerlとかの違いって使いやすさや慣れ以外に違いってあるんですか? 言葉足らずですいません…! 先程あげた三つのプログラミング言語が全く違うのは理解しているのですが、 それを使う、仕様した結果何か変わるのか疑問を抱いたので質問させていただきました。 初心者なので全く分からなくて… 教えてください><

  • C言語

    こちらのC言語のプログラミングコードを教えていただきたいです。出来れば解説も兼ねて教えて頂けると幸いです。

  • windowsでもC言語を始めたいのですが…

    某大学の数学科1回生です。 今までC言語を学んだことが無かったので、最近ASCIIの「C言語入門」 を購入しました。(4月から学校で講義が始まります。) この入門書を読み進めていくにはUNIX系のOSがあるとスムーズに進行出来るようです。 しかし、僕が使用しているパソコンはwindows7で、 非UNIX系のOSなのでC言語でプログラミングをする環境が整っていません。 そこで、次のサイトhttp://www.ooyashima.net/db/prog.htmでコンパイラと IDEとテキストエディタを手に入れる必要があります。 windowsのOSでも、UNIX系のOSを用いた時と同様にC言語プログラミングを 可能にするためには、先ほどのサイトで、コンパイラからテキストエディタまで 何を手に入れるのがベストでしょうか? 出来れば無料のソフトが良いです。 C言語やプログラミングに関しては全くの初心者なので、稚拙な文章となり 非常に読み辛かったかと思いますが、回答よろしくお願いいたします。

  • C言語の四則演算について

    これからプログラミングを勉強する為、C言語の入門書を買ってきたのですが、その中で、コンピューターでは四則演算を1の補数と2の補数を用いてすべて足し算で行うと書いてありました。詳しく解説してないのでどういうことなのか良くわかりません。掛け算や割り算などを足し算でできるのでしょうか。 この辺のところに詳しい方、ぜひ、ご解説をお願いします。

  • c言語について

    僕はc言語どころか、プログラミングについて何も知らない初心者です。 ですが、こんな僕でもc言語でプログラミングが書けるようになりたいです。 その為にc言語の教科書(明解c言語)だけは買ったのですが、 そのc言語を書くためのアプリ的なものは何を使えばいいのでしょうか。 また、c言語を学ぶ前に「これを習ってなかったら、c言語は出来ないよ!笑」的なものはありますか? (小学校の九九が出来ないのに、中学の因数分解は出来ないよね!みたいなものです) それを学ぶためのオススメの参考書があれば、そちらも教えて欲しいです! また、オススメの勉強法があれば知りたいです! よろしくお願いします。

専門家に質問してみよう