• ベストアンサー

C言語の種類

C言語とかC++とかC#とか色々と種類がありますが、何が違うのでしょうか。あと、自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうかまた、C言語におけるポインタの役割はメモリの節約という認識でよいですか? また、別件ですが、Javaという言語は何が出来るのでしょうか。 web系の言語なのですかね。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

追記: 私の場合ですが 「Cの種類」といわれて、C++やC#等は思い浮びません。 C言語が生れてから今まで、何度も変更されてきています。ある時期からは「国際規格」となっており、その規格も変更されてきています。 また、コンパイラの製作者(制作社)の意向や、発表時期で、どの規格にどれくらい準拠しているか、とか、独自拡張の有無等があります。 「Cの種類」と言われると、そのような規格(C89,C99とか)や、コンパイラ(GCC,Visual Cとか)を思い浮べます。 「Cの類」とか「Cの仲間」とか言われて、やっとC++やObjective-Cが加わる感じです。 C#はあくまで「C#」ですね。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

C++はCにオブジェクト指向を導入して生まれた言語です。 当初はCの上位互換(CのプログラムはそのままC++でも動作する)だったのですが、その後C,C++ともに独自の規格変更を行ったため、現在では一部互換性が失われています。 とは言え、他の言語と比べると、共通する点が多いです。 C#はCと付いてますが、Cとの互換性はほとんどありません。 Javaに近いですが、Javaとも互換性はありません。 文法の似た独自言語と考えた方がよいでしょう。 > 自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうか そんなものは、あなたにしかわかりません。 あなたが、どの言語用のプログラムを作成して、どの言語用のコンパイラを使うか、です。 一応、IDE(Visual Studio等の開発環境)等では、拡張子で判別することもあります (.cならC,.cppならC++,.csならC#など) が、拡張子と実際の使用言語が一致しているとは限りません。 >C言語におけるポインタの役割はメモリの節約という認識でよいですか? まったく違います。 ポインタはC/C++を理解する上で、非常に重要なものです。挫折する人の多くが、ポインタを理解できなかったことがその理由となっています。 変な先入観は捨ててください。 > Javaという言語は何が出来るのでしょうか。 コンピュータでできることなら、なんでもできます。 (速度やメモリ等の制約、得手不得手はありますが) Webアプリも作れるし、Webと関係無いアプリも作れるので、「Javaを使っていることと、Webアプリかどうかとは、無関係」です。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

JavaとWebは無関係である、という回答には少し語弊があります。 Javaを使ってWebアプリケーションを開発することはできます。そうですよね?

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

C++はCの拡張バージョンでCのプログラムがそのまま動かせることが多いです C#はマイクロソフトが勝手にCの名前を付けて普及を図ろうとしただけでC/C++とはまったく関係ないです。言語的にはJavaに近くJavaに対抗するために開発したものでしょう。 >自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうか これは意味がわかりません 普通は自分が使う言語を決めてからそれにあったコンパイラ等を使用します >C言語におけるポインタの役割はメモリの節約という認識でよいですか? よくないです JavaとWebは関係ないです Webに関係あるのはJavascriptといってJavaとは関係ありません(JSPといってサーバーサイドで動くものはあります) docomoなどの携帯アプリがJavaでつくられています

関連するQ&A