みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【初心者】c言語をもう一度勉強しようと思います。

c言語をもう一度勉強しようと思います。

独習Cとかの本を一回通しでやって理解していないぐらいの実力です。

ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくて

プログラミングとか書けません。

文法を固めるのが先か、

何かつくれるようにするのが先かどうすれば上達しますかね?

VC6.0++でウィンドープログラミングにしたりしてみたのですが、
肝心のプログラム自体の内容がほぼ無意味なプログラムなので

どうすれば内容の濃いプログラムを作れるか考えてしまいます。

アルゴリズムとか数学や物理の公式を実装できればいいと思うのですが、
まず実装までおとしこめないし、

また、何につかったらいいのかもよくわかりません。

投稿日時 - 2017-07-31 04:36:48

QNo.9357759

困ってます

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

うーん、個人的な意見では

「C言語を止める」

のが早道だと思います。

良く「Cはプログラミングの基本」と言われますが、この場合の「基本」ってのは「ハードウェアと密接に関係している」って意味であって、プログラミング言語としては抽象化は不十分なんです。
つまり、ロジックそのまま突き詰めるわけにはいかなくって、「色々とメンド臭い」事柄が多いんで、もし、「プログラミングが苦手」だと感じるのなら、それが本当に「プログラミングが苦手」なのか、単に「C言語が苦手」なのか、分からないわけですよね。
まあ、趣味でやってるのかどうかは知りませんが、今時、組み込みでやる、ってんじゃなきゃ、他のプログラミング言語を使って「ラクにプログラミングをする」方が恐らく10倍以上楽しいでしょう。
と言うわけで、何するにせよ、「Cから離れなさい」ってのがアドバイスです。

投稿日時 - 2017-07-31 05:37:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>>ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくて
プログラミングとか書けません。
何かつくれるようにするのが先かどうすれば上達しますかね?

もう何十年も前ですけど、C言語を全く知らない友人が、会社でC言語の仕事を割り当てられました。
そのブログラムはデータベースを使っていて、ポインターや構造体を多数つかう可能性が高いものでした。
「彼には無理かな?」と思っていたのですが、2か月後くらいには、完成させていたので驚いたことあります。

彼は凝り性&執念深い性格の人だったので、やる気になったときは凄かったのでしょう。

まあ、C言語に限りませんが、そこそこ大きなプログラムのソースコードを読んで、それを修正して機能を追加してみるとか、バグと格闘して徹夜ってそれなりの開発経験の時間を積まないと、上達しないと思います。

参考書にあるような「ほぼ無意味なプログラム」なんて、いくら作ってもダメでしょう。

ちなみに、私がC言語を覚えたのは、GNUや米国から購入したデータベースソフトのソースコードを読んで、日本語を使えるように修正する作業などを通してでした。
C言語の長ーいソースを読んで、やっていることを理解する過程で覚えたように思います。

>>また、何につかったらいいのかもよくわかりません。

「必要は発明の母」なんていいますよね?
作りたいモノが無いなら、やる気も続きませんね。
なにか良い題材を探しましょう。

ちなみに、No.1さんのアドバイスにほぼ賛成です。

ただ、本当にプログラムのことを理解したいのであれば、C言語(≒アセンブラ)というか、ポインターとか構造体のことを理解しておくことは必須だと思います。
特に最近はランサムウエアなど、セキュリティ関連の話題が多いですよね?
ハッキング解析には、C言語やアセンブラの知識が必須となります。

投稿日時 - 2017-07-31 06:59:15

あなたにオススメの質問