倉 薫 著
                                                                            
本書では、C言語をたんに使えるということを目指しているのではなく、C言語で作られたプログラムが、コンピュータ内でどのように動作しているのかということを、しっかりと把握することを重視しています。それによって、C言語というプログラミング言語の設計思想、そして、それをどのように使いこなすべきかということを学んでいきます。なぜならば、C言語のしくみを本当に知る、ということが、優れたC言語プログラマを目指すために必要不可欠なことだからです。
C言語(1)に書かれていることは、確かに基礎としては重要です。ですが、「C言語
」という言語の思想として一番大事なことは、むしろこのC言語(2)に書かれています。私はこのC言語(2)にこそ、もっとも知っていなければいけないことを書いたつもりです。
この『C言語(2)』に書かれている内容をマスターすることによって、単純に「C言語を使えるプログラマ」から、「C言語を熟知して優れたプログラマ」へステップアップしましょう!
「はじめに」より抜粋
●付属CD-ROMのご案内
本書の付属CD-ROMには、本書で掲載されているサンプルプログラムとコンパイラ(MinGW gcc)が収録されています。
Windows XP / Vista 用。
第1章 C言語のしくみ
  
  1-1 C言語のしくみ
  C言語のいいところ
  C言語の目的
  コンピュータのしくみ
  C言語のプログラムを実行したときのコンピュータの動き
  1-2 変数
  型の扱い
  整数
  符号付き整数
  それ以外の型
  サイズの知り方(sizeof演算子)
  1-3 printf()徹底攻略
  はじめに
  幅をそろえる(整数値)
  表示をそろえる(文字列)
  実数の表示
  10進数以外の形式での出力
  符号なし整数
  %c、%dでわかるコンピュータのしくみ
  では文字型変数というのは何なのか
  練習問題
第2章 データ構造詳細
  
  2-1 定数(const)
  「定数」とは
  #defineとの違い
  constのポインタ変数
  ポインタ変数に対するconst
  関数引数でのconstポインタ変数
  constの落とし穴
  返値のconstによる保護
  2-2 ポインタ
  ポインタについて
  コンピュータ内部でのポインタの扱い
  アドレス
  NULLポインタ
  ポインタのポインタ
  2-3 配列
  配列について
  メモリで見た配列
  構造体の配列
  多次元配列
  2次元配列の例
  2次元以上の多次元配列
  大きな配列を使うときの注意点(スタック)
  2-4 ポインタと配列の関係
  ポインタと配列について
  ポインタと配列の関係
  アドレスによる配列のアクセス
  関数に配列を渡す
  ポインタと配列の使い分け
  2次元配列とポインタ
  2次元配列を関数に渡す
  2-5 構造体
  構造体について
  構造体の宣言
  構造体の初期化
  メモリで見た構造体
  ビットフィールド
  境界を合わせる
  typedef
  共用体
  2-6 enum
  enumについて
  enumはなぜマイナーな機能なのか
  妥協としてのプログラミング
  enumの理想とする機能
  enumの現実
  enumの日常
  練習問題
第3章 演算子
  
  3-1 演算子
  演算子について
  論理演算(1)
  2進数
  論理演算(2)
  &演算子、|演算子
  ^演算子
  ~演算子
  <<演算子、>>演算子
  3-2 その他の演算子
  その他の演算子について
  三項演算子
  三項演算子の具体的な機能と使い方
  三項演算子を使う際の注意点
  キャスト演算子
  キャスト演算子の使い方
  カンマ演算子
  演算子の優先順位
  練習問題
第4章 制御構造
  
  4-1 制御構造
  制御構造について
  goto文
  goto文の機能
  goto文が嫌われる理由
  do~while文
  4-2 ブロック構造
  ブロック構造と暗黙のブロック
  練習問題
第5章 関数
  
  5-1 関数
  関数の復習
  返値の無視
  返値を返さない関数
  型の省略
  引数の型変換
  main()関数の引数
  関数のスコープ
  5-2 関数のポインタ
  ポインタの利点
  関数のポインタの使用頻度
  関数のポインタ
  関数へのポインタを使うときの注意点(その1)
  関数のポインタ変数の配列
  関数へのポインタを使うときの注意点(その2)
  5-3 メモリの動的な取得
  メモリとOSの関係
  変数宣言の限界
  malloc()関数
  malloc()関数の利点
  malloc()関数の失敗
  free()関数
  realloc()関数
  練習問題
第6章 プリプロセッサ、リンカ、ライブラリ
  
  6-1 プリプロセッサ
  プリプロセッサ
  コンパイラがコンパイルとする順序
  プリプロセッサの役割
  #define
  引数付きマクロの良い点
  引数付きマクロの注意しなければならない点
  引数付きマクロの応用
  #undef
  #ifdef、#ifndef、#else、#endif
  #error
  組み込みマクロ
  複数行にわたる命令
  プリプロセッサマクロを使うときの注意点
  6-2 リンカ、ライブラリ
  複数のファイルを使ったプログラムの開発
  複数ファイルのコンパイル
  コンパイラのしくみ
  ライブラリ
  ライブラリへの関数の追加
  ライブラリ内の一覧
  ライブラリの中の.oの削除
  ライブラリを使う
  ヘッダファイル
  あらかじめ用意されているライブラリ
  練習問題
練習問題解答および解答例
        内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
        
        正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
        その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
      
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
      書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
            書籍の種類:紙書籍
          
書籍の刷数:全刷
 
              書籍によっては表記が異なる場合がございます
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
| ページ数 | 内容 | 書籍修正刷 | 電子書籍訂正 | 発生刷 | 登録日 | ||||
|---|---|---|---|---|---|---|---|---|---|
| 104 2行目 | 
 | 未 | 未 | 1刷 | 2010.05.12 |