- ベストアンサー
C言語 よく使うのは?
C言語の参考書で、例えば1章~8章まであるとすると、 1章~前半くらいは、printfや変数や、演算など出てきると思うんですが、後半にかけて、配列やポインタや関数など出てくると思います。 実際に仕事で、よく使うのを挙げるとどんなのですか?(例えば、ポインタはよく使うや配列もよく使うや) もちろん、変数や演算などが出来ないと条件分岐や配列もポインタも何も出来ないと思うんですが、 上手く言えないんですが、for文はよく使うから、ちゃんと理解していないとダメとか、仕事ではポインタがしょっちゅう使うとか、ありますか? 本屋さんで見ると、ポインタ専用の本や、関数専用の本があるので、よく使うのかなと思いました。 それか、難しく理解が難しいから、より詳しく書かれているんでしょうか? 上手く説明が出来ていないですが、よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ポインタと構造体はC言語で何かを作りこむための必須項目といえる。正直、この2つのカラミをはっきり理解していない人間はC言語でまともなプログラムを書く事はできない。 ポインタだけでもダメ、構造体だけでもダメ、両方そろって、しかもその2つを複合的に使いこなす事ができるようになって初めて一人前だ。そのくらいのレベルに達しないと、本当の意味でC言語でお金を稼ぐというのは無理だな。 と言ってしまったが、正直日本人のプログラマ、SEさんたちも、大した能力があるわけではない。有名な大手企業でも実態はそんなもんだ。 ひどく主観で書いてしまったが、やはり「C言語を理解した」とは、ポインタと構造体の知識が最低限だと思う。それ以下では残念ながらC言語を理解しているとは言いがたいと私自身は思うがね。 「それってC言語の全てじゃん!」と思うだろうが、C言語の必須知識は、構文、関数の上手な作り方(この辺は言語ではなく、設計の問題だが)、構造体、配列、ポインタ(、共用体)、とまぁこの辺り全部だ。ほんとにこれ全部何かにつけてよく使うからね。お仕事でもなんでも。
その他の回答 (5)
参考書の内容にもよると思うのですが、全部使います。実務で使うには正直言うと足りないぐらいだと思います。 だからポインタ専用の本や関数専用の本があるのでしょう。 ポインタに関して言えば、ポインタのポインタぐらいは当然のごとく出てきますし、関数で言えば標準の関数に関して質問するような人はちょっと困ります。(知らなくてもいいけど、自分で調べて理解できないと・・・) 多く出回っている本は基本中の基本だけが書いてあると思ったほうがいいです。
- nitscape
- ベストアンサー率30% (275/909)
C言語とはかけ離れた例ですが... 5人に10コずつりんごをプレゼントする予定です。全部で何個のりんごが必要ですか? この問題を解く方法は、掛け算をしっていれば、5*10=50コ。と一瞬で答えがでますよね。 掛け算を知らなくても足し算を知っていれば、10+10+10+10+10=50コ。と正しい答えが出せます。 さらに足し算も知らなくても数が数えられれば、絵を書くなりしてから数えれば正しい答えを出せますよね。 C言語もこれと同じです。for命令を知らなくてもプログラムは作れます。しかしfor命令を知っていればより簡単に同じ処理をするプログラムを作れます。掛け算を知っていれば簡単にりんごの数がわかるのと同じ理屈です。 ただ掛け算を知らずに数値計算をするのは無謀ですよね。それと同じでforもそれを知らずにプログラミングをしようというのは無謀です。C言語の参考書に書かれている内容はすべてそういうものの集まりで、算数や数学で言うところの小学校レベルです。よく使うというよりもプログラミングをしたいなら知っているべき常識になっています。 ポインタも同様に基礎です。ただポインタは概念が難しく理解(と説明)に時間がかかるのでポインタ専門の本があったりします。
- naoiz
- ベストアンサー率40% (59/144)
私はC言語はほとんど(全くと言っていいほど)使わないのですが、私のイメージではC言語はまさに“言語”って感じがします。ひとつのことをさせたいのに、いくらでも方法があって、他の言語で可能なことはC(C++)でも可能みたいな…私(Japanese native)のような人間にとっては英語みたいな感じでしょうか。 ifやforやcaseは他の言語でも必ずと言っていいほど使用可能です。逆を言えば、他の言語でも出てくるものはCでも重要なのかなと、私は考えています。 ちなみに、私はDelphi、Perl、PHP、Javaをそれぞれ若干使いっていた経験がありますが、ifやcaseなどどれでも共通しているした条件文(?)ばかりで、一部DBを扱うような箇所で固有の書式を使う以外はどれでも共通で使えるようなソースばかりですね(^^;) ↑みたいなアプローチはだめですかね?>有識者の方
- asuca
- ベストアンサー率47% (11786/24626)
C言語の場合構造型プログラミングが可能ですのでそれをmうぃんに覚えるとするといろいろ覚える必要があります。 試験によく出るのはfor文とかですがポインタの使い方もよく出てきます。
- TGM
- ベストアンサー率39% (52/133)
質問と少し違いますが、 もし今から勉強されるので、1章から全部読むのが面倒だなーと思うのであれば、実際に課題みたいなものを設定するなら見つけてきて 実際に作ってみつつ、わからない部分を調べて作ってみるといった形がいいと思います。 (新規の方には課題形式の本は読みやすいですね) (仕様を調べたり参考にするには無駄な文章が多いですが・・・) 実際に使うという意味では、全ての機能を使うと思います。 ポインタや関数の本が多いのは、そこの機能が奥深いものでただ単に使うだけでなく、深く理解して使いこなすのが難しいからです。(使うだけなら簡単でしょう)
お礼
早々の沢山のお返事ありがとうございます。 今C言語は、始めたばかりではないんですが、中盤から後半に差し掛かったところです。 それで、僕の使っている参考書では、ポインタが関数や構造体よりも先に出てくるんですが、(他の参考書ではポインタは最期のあたりに出てくるみたい)そのとき、ポインタって、仕事で使うときどういった風に使うのかなと思ったり、結構頻繁に使うのかなと思い、こういった疑問が出てきました。ポインタのところで、「メモリの確保」っていうのも、出てきたんですが、malloc calloc realloc などでてきて、こういったものは、よく使うものなのかな?と思ったりしました。 参考程度に知っておけばいいものなら、軽く流し見使用と思ったんですが、よく使うものなら、ちゃんとやったほうが良いし。 ページ数で言うと2ページしかかかれていなかったので、損な大したものでもないのかなと思ったのと、パソコンに詳しいほうではないので、メモリの確保って言われても、ん?って感じだから、安易に思ったのかもしれません。 でも、ポインタや構造体は良く使うみたいですね。 結局、全部が大事なんですよね^^; やっぱり、ポインタ専用の本や構造体や関数などの専用の本は買ったほうがいいですか?