C言語のポインタのツボとコツがゼッタイにわかる本

概 要

C言語の初心者がつまづく「ポインタ」について重点的に解説した、ポインタがゼッタイにわかる入門書です。C言語は40年以上も前に開発された言語ですが今でも広く使われており、あらたに入門してみようとする人も少なくありません。しかし、その初心者の多くがつまづくのが「ポインタ」という考え方です。本書は、ポインタを使ったサンプルコードを例題にして、変数とポインタの関係、ポインタを使わないとできない処理、配列や文字列とポインタの関係、構造体のデータをポインタで指定する方法、関数ポインタ、ポインタのポインタまで、C言語の基本となるポインタのすべてを解説します。サンプルプログラムのダウンロードサービス付き。

著者 石黒尚久
価格 本体2000円(税別)
ISBN 978-4-7980-4035-6
発売日 2013/12/25
判型 B5変
色数 2色
ページ数 244
CD/DVD
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 こんなプログラムを作るときどうしますか?

1-1 キーボード入力のあるプログラム

scanf関数とprintf関数を使ったプログラム

1-2 2つの変数の値を入れ替える関数

swap関数を作る

1-3 プログラム起動時の引数を利用する

引数を指定できるプログラムの作成

1-4 ファイルを読み書きする

ファイルの中身を倍にする

第2章 隠れているポインタ

2-1 C言語でポインタを知らなければならない理由とは?

標準ライブラリとポインタの関係

関数の間でのデータのやり取り

2-2 普通の変数に隠れているポインタ

「変数」とポインタの関係

それぞれのデータ型のサイズ(バイト数)

変数をどう捉えますか?

変数の定義で発生する項目

2-3 メモリの構造

メモリの構造を知ろう

メモリの確保のされかた

2-4 特別な変数:ポインタ変数

変数のアドレスがわかると何か良いことがあるのか?

銀行口座はメモリで、口座番号はアドレスだ

口座番号を使ったお金のやり取り

アドレスを使ったデータのやり取りプログラム

アドレスを格納するための変数(ポインタ変数)

ポインタ変数の種類と定義の仕方

ポインタ変数を使ったデータの出し入れ

ポインタ変数を使った値の出し入れ~もう一つの例

scanf関数とprintf関数を使ったプログラム

第3章 ポインタを使わないとできない処理

3-1 ダイナミックなメモリ確保

ダイナミックなメモリ確保を可能にする標準ライブラリ関数

malloc関数とは

free関数とは

malloc関数とfree関数を使った簡単なプログラム

その他のメモリ確保に関係する関数

3-2 ファイルの読み書き

ファイル入出力の標準ライブラリ関数

ファイルをオープンする~fopen関数

ファイルをクローズする~fclose関数

ファイルにデータを書き込む~fwrite関数

ファイルにデータを書き込む簡単なプログラム

その他のファイル操作に関係する関数

3-3 メモリ確保の応用プログラム

サイズのわからないファイルを読み込みそのコピーを作るプログラム

第4章 配列とポインタ

4-1 なぜ配列の処理をポインタで考える必要があるのか?.

配列は角括弧([])を使えばいいのでは?

4-2 配列を使ったプログラム

配列の定義

配列データの扱い方

簡単なプログラム

4-3 配列をポインタ利用に書き換える

ポインタを使った書き換えを試してみる

配列を他の関数へ渡すプログラム

配列を渡された関数での処理(角括弧([])を利用)

配列を渡された関数での処理(ポインタを利用)

4-4 多次元配列の処理

2次元配列を使ったプログラム

2次元配列の仕組み

ポインタ変数を使った2次元配列の処理

4-5 ダイナミックに確保したメモリエリアで配列を使う

角括弧([])の表記を使った処理方法

ポインタ変数を使った処理方法

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

5-1 C言語の文字列とは

文字列の定義

文字を配列の中に入れて定義する

ポインタを定義し文字列の初期値を設定する

後から値を設定する文字列の定義

文字列を表す変数のハンガリアン記法

文字列定数

printf関数での文字列表示

5-2 文字列操作

文字列操作は厄介?

文字列の結合

文字列操作標準ライブラリ関数

文字列連結処理

文字列の検索と置換

第6章 構造体とポインタ

6-1 構造体の整理

構造体の定義の書き方

構造体の宣言の実用的な書き方

6-2 構造体を関数呼び出しで使うプログラム

構造体を関数へ渡す例・(ポインタを使わず直接構造体を渡す場合)

構造体を関数へ渡す例・(ポインタを使う場合)

構造体の配列を関数に渡す

第7章 関数ポインタ

7-1 関数へのポインタ変数

関数名は関数のポインタを表す

関数ポインタ変数の定義

関数ポインタ変数を使った関数の呼び出し

関数ポインタ変数利用の実例

関数ポインタ変数の配列

7-2 関数ポインタを関数呼び出しで使うプログラム

プログラムの操作仕様

プログラムの内部的な仕様

第8章 ポインタのポインタ

8-1 ポインタ変数にもアドレスはある

ポインタの先にポインタがある?

8-2 ポインタのポインタを何に使うか?

文字列はポインタで管理されている

8-3 ポインタの配列の利用

ポインタの配列を使ってみる

ポインタ配列のポインタ

第9章 ポインタの知識を確認してみよう

9-1 1-1節の問題1を考えてみよう

解答プログラム例と解説

9-2 1-1節の問題2を考えてみよう

解答プログラム例と解説

9-3 1-2節の問題1を考えてみよう

解答プログラム例と解説

9-4 1-3節の問題1を考えてみよう

解答プログラム例と解説

9-5 1-3節の問題2を考えてみよう

解答プログラム例と解説

9-6 1-4節の問題1を考えてみよう

解答プログラム例と解説

第10章 プログラミングにチャレンジ!

10-1 練習問題を解いてみよう

9つの練習問題

10-2 練習問題の解答例

解答プログラム例と解説

資料

資料1 開発環境の構築について

資料2 いくつかの基礎知識

PR

秀和システム