C言語についての質問です。
プログラミング初心者ですので、アドバイスを頂きたいです。
今後OpenCVやkinectを扱うためにC++を勉強しようと思っているのですが、C++を学ぶ前にC言語を学んだ方が良いという話をよく聞きます。
しかし、CとC++をざっと見ましたが、記述の仕方などあまり似てないようなのでCを学ぶ意味がいまひとつ掴めません。
そこで質問です。
①いきなりC++の勉強をしてよいのでしょうか。(現状Javaでしたら基礎の部分は扱えると思います)
②Cを勉強する場合、どこまで(どこを)理解すればよいのでしょうか。
C言語について色々な情報がありすぎて、今ひとつ整理できていない状態ですので、アドバイス頂けたらと思います。
何卒宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
C++学習が目的ならば、直接C++入門から始めることをオススメします。
C++言語で出来ること(機能)は非常に多岐にわたるため、あまり最初から気負い過ぎないことも重要かもしれません。
C→C++の順番がダメという事はないのですが、わざわざ遠回りする必要性もありません。昔はその様な学習順が主流だったのかもしれませんが、2016年も同じ方法論をとる必要はないと思います。
基本的にC++とCは別のプログラミング言語です。あくまで共通の祖先をもつ親戚関係であって、C++でしか出来ないこと、Cでしか出来ないこと(実際にはほぼ無いのですが)がそれぞれにあります。言語が違えばよい書き方もまた変わってきますから、CをここまでマスターしたからC++でどうというのは忘れて良いと思います。
投稿2016/02/19 06:07
編集2016/02/19 06:12総合スコア6191
0
こんにちは。
C++はC言語にオブジェクト指向を追加したイメージに近いので、C→C++というのが一般的な流れです。
しかし、既にJavaでオブジェクト指向を学ばれている場合、なかなか悩ましいかも。
C++はC言語を拡張したものですが、C++を使うのであれば使わない方が良いC言語の記述方法もあります。
主に標準ライブラリ周りです。
ところで、Javaでもポインタの概念を理解していないとハマるケースがありますが、もしかして既にポインタを理解されていますでしょうか?
もし、既に理解されているのであれば、私は直接C++言語を始められても良いのではないかと思います。
まだでしたら、ポインタ、配列へのポインタ、ポインタの配列を理解する部分はC言語で学ばれた方がよいように思います。
投稿2016/02/19 05:44
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/19 07:33
2016/02/19 08:47
0
C++はC言語とは独立した別々の言語というよりは、C言語をベースにして機能を追加したプログラミング言語ですので、C++を学ぶということは必然的にC言語部分を学ぶことも含まれます。
①いきなりC++の勉強をしてよいのでしょうか。(現状Javaでしたら基礎の部分は扱えると思います)
Javaでプログラミングの基礎を学んでいるということであれば、まったく問題ありません。すでにC言語を習得している人にとってはC++の習得難度が下がるということはありますが、C++の前にC言語を学ばないといけないということはありません。
②Cを勉強する場合、どこまで(どこを)理解すればよいのでしょうか。
あえてC++とは別にC言語を学ぶ必要はないと思います。ただし、ポインタ周りはC言語の入門書の方が詳しく解説しているかもしれません。C++はCを丸ごと含んでいるので、C言語コードもそのまま動かせます。
投稿2016/02/19 07:06
総合スコア5938
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/19 07:11
0
①
プログラミング初心者がいきなりC++だとつらいと思いますが、
Javaの基礎ができているのであれば、いきなりC++でも問題ないと思います。
②
C++とC言語を混ぜて書くことができるので、場合によってはC言語の知識が必要なこともあります。
そのため、C言語で書かれたコードをある程度は読めたほうが良かったりするかも。
...
過去の質問で少し関係のありそうな質問がありましたので、リンクをはっておきます。
C++の必要性(25745)|teratail
https://teratail.com/questions/25745
投稿2016/02/19 06:34
総合スコア9390
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/19 07:06
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/19 06:38
2016/02/19 07:01
2016/02/19 08:30
2016/02/19 09:33
2016/02/19 12:38 編集
2016/02/19 12:56