Richard Reese:詳説 C ポインタ

作成日:2020-08-20
最終更新日:

概要

C 言語のポインタについて説明する。

記載

少々昔の状況かなと思うところがある。たとえば、p.42 は次のとおり書かれている

malloc 関数が宣言されているヘッダファイルを include し忘れた場合、 キャストした個所に対してコンパイラは警告を出します。 デフォルトでは C 言語の関数は int を返すものととして定義されています。

確かこの記述は古いもので、今は int を返すという定義はないと思われる。 なお、malloc 関数が宣言されているヘッダファイルは普通 stdlib.h である。 そこを書いてほしいとは思った。

なお、p.46 の訳注にあるように、calloc は malloc + memset より速く動作する。 なので、利用者の立場としては、malloc より calloc を積極的に使うのがよいと思う。 malloc で確保したメモリ領域は何が入っているかわからないからだ。

なお、calloc の関数プロトタイプは次のとおりである。
extern void *calloc(size_t nemlements, size_t bytes)

第1の引数は配列の数であり、第2の引数は配列を構成する要素が占めるバイト数である。 私はよくこれを逆にして覚えているので、注意しないといけない。

誤植

p.161 下から 3行目、コードが
delete(&linkedList, node);
となっているが、
delete(linkedList, node);
が正しい(& は不要)。 これは、本書に関するオライリーのページ https://www.oreilly.co.jp/books/9784873116563/ の正誤表には載っていない。

書誌情報

書 名詳説 C ポインタ
著 者Richard Reese
訳 者菊池 彰
発行日2013 年 12 月 27 日
発行元オライリー・ジャパン
発行元オーム社
定 価2200円(税別)
サイズ
ISBN978-4-87311-656-3
備 考越谷市南部図書室で借りて読む
NDC007.6

まりんきょ学問所コンピュータの部屋コンピュータの本C言語 > Richard Reese:詳説 C ポインタ


MARUYAMA Satosi