BohYoh.comトップページへ

新・明解C言語 ポインタ完全攻略

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

第1章 ポインタの基本

1-1 ポインタとは
オブジェクトとアドレス
アドレス演算子&
バイトとアドレス
ポインタとは
ポインタはオブジェクトを指す
間接演算子*
ポインタが指すオブジェクトへの代入
register記憶域クラス指定子とアドレス
オブジェクトの大きさとsizeof演算子
ポインタの大きさ
バイト順序
ポインタの宣言と初期化
式の評価
アドレス演算子と間接演算子を適用した式の評価
ポインタから整数値への変換
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 ポインタによる文字列
配列による文字列とポインタによる文字列
配列による文字列とポインタによる文字列の違い
文字列リテラルと文字列定数
改行文字の出力
文字定数と文字列リテラルの混同
4-4 文字列を操作する関数の作成
文字列に対しては何も行えない?
文字列の長さを求める
文字列の表示
文字列のコピー
文字列を指すポインタの交換
4-5 文字列関連の標準ライブラリ
文字列関連の標準ライブラリ
strlen関数:文字列の長さを求める
strcpy関数とstrncpy関数:文字列をコピーする
strcat関数とstrncat関数:文字列を連結する
strcmp関数とstrncmp関数:文字列を比較する
strchr関数とstrrchr関数:文字列から文字を探索する
strpbrk関数:他の文字列に含まれる文字を探索する
strstr関数:文字列に含まれる文字列を探索する
strspn関数とstrcspn関数:文字列の構成を調べる
strtok関数:文字列を分解する
memset関数:連続したメモリに値を代入する
memcpy関数とmemmove関数:連続したメモリをコピーする
memchr関数:配列から文字を探索する
memcmp関数:配列領域を比較する
文字列を空にする
空ポインタとNULL

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

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

第6章 構造体とポインタ

6-1 構造体の基本
構造体
.演算子
構造体とメンバのアドレス
メンバへの値の読込み
集成体型
関数間の構造体の受渡し
境界調整
offsetofマクロ:メンバのオフセット値の取得
6-2 構造体とポインタ
->演算子
関数間での構造体の受渡し

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

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

第8章 関数へのポインタ

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

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