BohYoh.comトップページへ

詳解C言語ポインタ完全攻略

本書の概略 はじめに 目 次 本 文 ダウンロード 発行日・履歴 著書のページ


第1章 ポインタの基本

1-1 ポインタとは
オブジェクトとアドレス
アドレス演算子&
ポインタとは
ポインタはオブジェクトを指す
間接演算子*
ポインタが指すオブジェクトへの代入
バイトとアドレス
オブジェクトの大きさとsizeof演算子
型とビット数
バイト順序
ポインタの大きさ
ポインタの宣言と初期化
式の評価
アドレス演算子と間接演算子を適用した式の評価
ポインタから整数値への変換
register記憶域クラス指定子とアドレス
1-2 関数の引数としてのポインタ
値渡し
ポインタの値渡し
参照渡し(C++)
値渡しのメリット
ポインタとscanf関数
受け取ったポインタを別の関数に渡す
ポインタの指すオブジェクトに値を読み込む
ポインタの型

第2章 配列とポインタ

2-1 配列とポインタ
配列と添字演算子
配列名の解釈
ポインタに整数を加減算したポインタ
間接演算子と添字演算子
添字演算子のオペランド
配列とポインタの相違点
ポインタどうしの比較
ポインタどうしの減算
2-2 関数間の配列の受渡し
配列を受け取る引数
配列の大きさと要素数
配列の要素数の受渡し
配列の要素と添字演算子
ポインタとconst
2-3 ポインタによる配列要素の走査
ポインタによる配列要素の走査
線形探索
2-4 ポインタの配列
ポインタの配列
ポインタの配列の受渡し

第3章 多次元配列とポインタ

3-1 多次元配列とは
多次元配列は配列を要素としてもつ配列である
多次元配列の大きさと要素数
多次元配列の要素と添字演算子[ ]
多次元配列の添字とコンマ演算子
3-2 関数間での多次元配列の受渡し
多次元配列の受渡し
多次元配列を受け取る引数と要素数
多次元配列の配列名
多次元配列の構成要素を1次元配列としてアクセス
多次元配列内の部分配列の受渡し

第4章 文字列とポインタ

4-1 文字定数と文字列リテラル
文字定数
拡張表記
ナル文字
文字列リテラルとナル文字
隣接した文字列リテラルの連結
文字列リテラルの型と値
文字列リテラルと文字列
4-2 配列による文字列
文字列と文字の配列
文字の配列の初期化
文字列の読込み
4-3 ポインタによる文字列
ポインタによる文字列と配列による文字列の表現
2種類の文字列の共通点
2種類の文字列の相違点
文字列リテラルは定数であるとは限らない
同じ綴りの文字列リテラルの取扱い
同じ綴りの文字列リテラルが共有されると
文字列の途中の文字を指すポインタ
4-4 文字列を操作する関数の作成
文字列の長さを調べる
文字列の表示
文字列のコピー
ポインタを返却する関数
文字列を空にする
文字列の連結
文字列からの文字の探索
空ポインタとNULL
文字列の比較
文字列を指すポインタの交換
4-5 文字列関連の標準ライブラリ
文字列関連の標準ライブラリ
strlen:文字列の長さを求める
strcpy, strncpy:文字列をコピーする
strcat, strncat:文字列を連結する
strcmp, strncmp:文字列を比較する
strchr, strrchr:文字列から文字を探索する
strpbrk:他の文字列に含まれる文字を探索する
strstr:文字列に含まれる文字列を探索する
strspn, strcspn:文字列の構成を調べる
strtok:文字列を分解する
memset:連続したメモリに値を代入する
memcpy, memmove:連続したメモリをコピーする
memchr:配列から文字を探索する
memcmp:配列領域を比較する
strcoll, strxfrm:ロケールを考慮した文字列の比較と変換
strerror:エラーメッセージ文字列を取得する

第5章 文字列の配列とポインタ

5-1 2次元配列による文字列の配列
2次元配列による文字列の配列
2次元配列による文字列の配列の受渡し
2次元配列内の文字列を返却する関数
5-2 ポインタの配列による文字列の配列
ポインタの配列による文字列の配列
配列内の要素のアクセス
ポインタの配列の受渡し
ポインタが指す文字列リテラルを返却する関数
5-3 コマンドライン引数
コマンドライン引数
argvが指す実体
ポインタによるargvの文字列単位の走査
ポインタによるargvの文字単位の走査
argcを使わないargvの走査

第6章 構造体とポインタ

6-1 構造体の基本
構造体
.演算子
構造体オブジェクトの初期化
構造体とtypedef
集成体型
構造体とメンバのアドレス
構造体メンバのアドレスの比較
構造体中の構造体メンバのアドレス
メンバへの値の読込み
境界調整
offsetof:メンバのオフセット値の取得
構造体を受け取る関数
構造体を返却する関数
6-2 構造体とポインタ
->演算子
関数間での構造体の受渡し

第7章 記憶域の動的な確保

7-1 記憶域の動的な確保と解放
calloc:記憶域の確保
malloc:記憶域の確保
malloc関数とcalloc関数
free:記憶域の解放
確保した記憶域への値の読込み
ヒープの内部的な管理
voidへのポインタと境界調整
voidへのポインタと演算
空ポインタとNULLの定義
7-2 配列の動的な確保
1次元配列の確保
realloc:確保した領域の大きさの変更
2次元配列の確保
列数が可変の2次元配列の確保
割付け記憶域期間
7-3 文字列の動的な確保
文字列の確保
文字列の配列の動的確保(2次元配列)
文字列の配列の動的確保(ポインタの配列)

第8章 関数へのポインタ

8-1 関数へのポインタと動的な関数呼出し
条件によって動作を変える関数
関数へのポインタ
九九の加算と乗算
atexit:プログラム終了時に呼び出される関数の登録
8-2 関数へのポインタの配列
メニュードリブンプログラム
関数へのポインタの配列
8-3 汎用ユーティリティ関数
bsearch:ソート済み配列からの探索
qsort:配列のソート
8-4 汎用ユーティリティ関数の作成
線形探索関数
2分探索関数
改良版2分探索関数
クイックソート
演習問題の解答
おわりに
参考文献
索 引
標準ライブラリ索引
謝 辞
著者紹介

本書の概略 はじめに 目 次 本 文 ダウンロード 発行日・履歴 著書のページ