はじめまして、私はC言語を勉強中の初心者です。
基本的な構文などを理解して、標準ライブラリ関数を勉強して行こうと思ったのですが、うまく勉強できずに苦戦しています。そこで2つ聞きたいことがあります。
1.普通標準ライブラリ関数はどの程度覚えるものなのでしょうか?
徹底的に網羅するのか、一般的なところは押さえて後は適当にやるのか、などを知りたいです。
2.関数はどうやって勉強したらいいのでしょうか?
私は細かいところまで徹底的に覚えたいタイプで、今は、自分のコンパイラ(VC++ 2008)のincludeフォルダにあるヘッダファイルを調べ、関数のプロトタイプ宣言をしてあるところを見つけて関数名を洗い出し、その関数名で検索を掛けて関数を覚えていく、という方法を取っているのですが、これだと恐ろしく効率が悪いです。皆さんはどうやってライブラリ関数について勉強していったのでしょうか?
質問したいのは上記の2点です。回答よろしくお願いします。
No.5ベストアンサー
- 回答日時:
>1.普通標準ライブラリ関数はどの程度覚えるものなのでしょうか?
>徹底的に網羅するのか、一般的なところは押さえて後は適当にやるの
>か、などを知りたいです。
第一に、
「使い方を完全に暗記する」必要はありません。
他の方も記載の通り、その場で調べれば良いので。
第二に、
「標準ライブラリ関数で提供されている機能」は頭で理解しておく(暗記ではない)必要があると考えます。ただし、ここで理解すべき標準ライブラリ関数の範囲は、各個人のキャリア目標に異なりますね。
業務の応用アプリ開発しかしない人であれば、文字列操作、メモリ操作、入出力操作等の基本部分だけでよいでしょう。
一方、フレームワーク開発、ミドルウェア開発や組込制御開発をする人の場合、また、インフラやアーキテクトが素養として学習する場合であれば、全てを網羅的に学習する必要があるでしょう。
ただ、プログラム言語以外の知識、OSやコンピュータの根幹動作の仕組みを知らないと理解が難しいところもあるので、今は全てを網羅しようとせず、のんびりやる方が良いです。
仕組みを知らないと理解が難しい例:
「signal関数」と「ソフトウェア割込みの仕組み」
>2.関数はどうやって勉強したらいいのでしょうか?
「C言語の勉強」と視野を広げた場合、関数の勉強にこだわるのは良くないかもしれません。もしかすると、他人の作成したソースコードを読んで解読する方がC言語の勉強になるかも?
# 例えば、MSDNの技術情報にはサンプルコードが沢山。
# これは、関数の説明書読むよりも、他人の作成したソースコードを
# 読む方が分かりやすいからです。
>>理解すべき標準ライブラリ関数の範囲は、各個人のキャリア目標に異なりますね。
私はまだ具体的な目標を持つほど詳しくはないのですが、まだそんなに焦る必要もないのでじっくり覚えていこうと思います。他人のソースコードを読むのにも役立つでしょうしね。
>>OSやコンピュータの根幹動作の仕組みを知らないと理解が難しいところもある
今もなんだかよく分からない関数が出てきたりするのですが、そういうのは動作だけ覚えてあとで必要になった頃に詳しくやろうと思います。
>>MSDNの技術情報にはサンプルコードが沢山
これでサンプルコードには困りませんね!コード読めるようになるためにも関数しっかり覚えなくては。
回答ありがとうございました!
No.4
- 回答日時:
MSDN(Visual Studio2008)のC言語ライブラリ解説は、
http://msdn.microsoft.com/ja-jp/library/59ey50w6 …
にあります。
Microsoftでは、これをCRT(C Runtime Library)と呼んでいます。
CRTってそのことだったんですね。CRTってなんのことかと思っていました。
よく考えればmicrosoftが用意していないわけがないですね。
回答ありがとうございました!
No.3
- 回答日時:
> 1.普通標準ライブラリ関数はどの程度覚えるものなのでしょうか?
C言語の標準ライブラリ程度であれば、すべて覚えても知れています。特に、(AMD1を含まない)C90の範囲であれば、一通り理解した方がよいかと思います。結果的に一生使わない関数があるかもしれませんが、考え方など、間接的に活かせることも少なくないからです。
それに、存在自体を知らなければ、使うべき機会があっても、その時点で調べてたどり着けるかどうかは何ともいえません。使えるようにしておいてから、必要かどうかを判断するのが基本です。
> 2.関数はどうやって勉強したらいいのでしょうか?
一番確実なのは、自分で標準ライブラリ関数を実装することです。
標準ライブラリはすべて覚えることにします。折角C言語やるからには詳しくなりたいですしね。
>>一番確実なのは、自分で標準ライブラリ関数を実装することです。
自分でですか!atoiとかなら私にもできる・・・はず。でもよく使う関数なら自分好みに変えたりもしています(用意されている物より良いアルゴリズムが組めているか自身がないですが)。自分で実装するのもいいですね。
回答ありがとうございました!
No.2
- 回答日時:
関数名は覚えても引数の順番とか覚えてないのがいっぱいあります
私は使いたいときにネットで関数名を検索して確認しています
↓はヘッダ別、アルファベット順で説明があります
http://www.bohyoh.com/CandCPP/C/Library/hindex.h …
マイナーなのは引数とかまで覚えてなくてもいいんですね。
>>ヘッダ別、アルファベット順で説明があります
そのサイトヘッダファイル順バージョンもあったんですか!
回答ありがとうございました。
No.1
- 回答日時:
頻繁に使う関数については覚えておく(と言うか頻繁に使うと自然と覚える)
その他の大多数は必要になったら探す。
VC++ならMSDNから探せば良いし[F1]キー押せばMSDNが立ち上がりますから、詳しいリファレンスなんて一々思えておく必要は無いです。
標準関数などは手段なので、ざっと「どんな事が出来るか」だけ覚えておけばよくて具体的は使い方は必要になった時に調べればよいです。
全部調べたって、多分、一生使わない関数の方が多いですよ。
回答ありがとうございます!
>>全部調べたって、多分、一生使わない関数の方が多いですよ。
徹底的にやってもあまり意味がないんですね。
>>MSDNから探せば良い
C++のライブラリ関数の一覧などC++の情報は見つかるのですが、肝心のC言語の情報が見つからずヘッダファイルで探すことに・・・MSDNからC言語のライブラリ関数の情報を得るにはどうしたらいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 高校1年生 医学部受験 中学受験をし、中堅私大付属の中学に入りました。当初入学した時は、医学部に行き 5 2022/09/03 23:37
- 高校 テスト勉強について 中間テストの結果がかえってきたのですがあまりよくありませんでした。 現代の国語と 2 2023/06/05 00:46
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 高校受験 なぜ勉強してる教科の点数は下がるのに全く勉強していない教科はあがるんですか? 中3 高校受験 今日模 2 2022/12/11 15:25
- 高校受験 中3 9月 模試の結果D判定 夏に受けた模試の結果が第1志望D判定でした。 あと21点でやっと合格圏 3 2022/09/09 23:19
- 大学受験 高二文系です。受験についてです。 英数の偏差値は57.5くらいで国理社50切るくらいです。浪人不可能 2 2023/02/20 22:50
- 高校受験 中3 高校受験 今日全県模試を受けて自己採点をしたのですが、めちゃくちゃ勉強した社会が38点でショッ 2 2022/12/04 17:51
- 高校受験 高校受験まで2週間/未だに理社が平均点以下 理社の点数が未だに平均点以下から上がらず困っています… 1 2023/01/29 18:24
- 高校受験 数学の問題いくつか捨てても大丈夫?残り1ヶ月、点数が取れない教科ばっか勉強しても大丈夫? 高校受験 2 2023/01/07 17:55
- 大学受験 数学が苦手で社会が得意な場合は一橋よりも東大の方が受かりやすい、ということはあり得ますか? 3 2022/04/16 16:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google ColaboでGUI作成
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
iCloudフォトライブラリ内の画...
-
ISOイメージの作成方法について
-
python urlopen error について...
-
C言語C++言語アセンブラ言...
-
32768以上の乱数を作りたいので...
-
Dreamweaverのライブラリが反映...
-
pygame.error: File is not a W...
-
c言語の標準cライブラリのみで...
-
rewindはfstream...
-
ATLとSTLの違いは何でしょうか?
-
ipodを二つ 同じパソコンで使...
-
gcc に mktemp 危険と怒られ...
-
stricmp
-
VX-works
-
じゃんけんゲーム(DXライブラ...
-
タグ許可、XSS対策「HTML Purif...
-
暗号化ライブラリを探しています
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google ColaboでGUI作成
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
iCloudフォトライブラリ内の画...
-
python urlopen error について...
-
scipy っていうのをいれようと...
-
LIBCMT.LIBをリンクしてコンパ...
-
ライブラリ作成時のグローバル...
-
【iTunes】CDをiPhoneに取り込...
-
静的ライブラリから静的ライブ...
-
boostのアンインストールについて
-
cでなぜguiアプリが作成出来る...
-
標準ライブラリだけでgetch関数...
-
Dreamweaverのライブラリが反映...
-
stricmp
-
iPhoneのカメラロールへ画像を...
-
ベッセル関数を使う
-
【C#C++】Win32API呼び出し
-
C++ 標準ライブラリの実際の中...
おすすめ情報