58章 メモリ操作関数

http://www.geocities.jp/ky_webid/c/058.html

メモリ操作と書いてますが、サンプル等を読む限り、ポインタに対して参照書き込みしてるのと同じようにしか見えないのですが、これはそういったプロセスをすっとばして直接書き込んでるということなのでしょうか。

と思いつつ読んでいたらこういう記述が

memset()のところで触れたように、メモリ操作系の関数は、文字列操作関数と似ています。memcpy()の文字列専用バージョンがstrcpy()ということになります。memcpy()の方が、引数が1つ増えていて、そこにデータの大きさを指定するようになっています。これは、文字列の場合なら、末尾に'\0'があることを前提としているため、データの大きさを指定しなくても、自動的に末尾を判定できるためです。memcpy()は、どんな種類のデータにでも対応できる反面、データサイズを具体的に指定する必要があります。memcpy()は、データサイズを指定するため、何らかの理由で末尾に'\0'のない文字列のコピーにも利用できることを忘れないで下さい。文字列のコピーには、必ずしも strcpy()を使わなければならないということはありません。

なるほど。凄く良く分かります。

この章でのポイント以下

  • memset関数
  • memcpy関数
  • memmove関数
  • memcmp関数
  • memchr関数


とても重要ですね。

さーていつものように練習もんだ・・・、あれ?

どうやらこの章から練習問題がなくなったみたいです。59章とかをチラッと覗いてみてもやっぱり問題がありませんでした。

どーしよう・・・路頭に迷いました。