【技術書】基礎から学ぶ中級C言語入門
- ダウンロード商品¥ 1,800





基礎から学べる中級C言語入門のHTML本です。 基礎的な技術から始めて応用的な技術も習得できる本になっています。 * 標準入出力 * ポインタ * 配列 * ポインタ配列 * 2次元配列 * 動的配列 * 文字列 * 構造体 * 共用体 * 列挙体 * 可変長引数 * 動的メモリ管理 * ムーブセマンティクス * 構造体と関数を使った設計 * ファイル(ランダムアクセス) * エラーハンドリング(errnoなど) * 型の抽象化 * プリプロセッサ・プログラミング * テスト * 自作ライブラリの作り方 などの技術が習得可能です。
商品の内容
zipファイルを解凍するとフォルダが出てきます。 フォルダの中にbook.htmlがあり、これをブラウザで開くと本が読めます。 文字数:95777字
目次
# 基礎から学ぶ中級C言語入門 ## はじめに ### 想定する読者 ### 本著の実行環境 #### GCCのコンパイルオプション ## 基礎知識 ### ディレクトリとフォルダ ### 処理系定義 ### セグメンテーションフォルト(セグフォ) ### 複数ファイルのコンパイル ### インクルード ### ヘッダファイルとソースファイル #### ヘッダファイルのインクルードガード ### プロトタイプ宣言 ### 内部結合 ### 標準ストリームの種類 ### 終了ステータスの種類 ## ポインタ ### ポインタ変数の宣言と定義 ### ポインタ変数とNULL ### &演算子 ### ポインタ変数からの間接参照 ### ダングリングポインタ #### 無効なアドレスの参照 ### ダブルポインタ ### for文とポインタ演算 ### 関数ポインタ ### ポインタと構造体変数 ## 配列 ### 配列の初期化 ### 配列の要素の参照 ### 配列の要素の変更 ### 配列の要素の走査方法 ### 配列とポインタ ### 配列の要素数の求め方 ### sizeof演算子の罠 ### 配列のコピー ## 2次元配列 ### 2次元配列の初期化 ### 2次元配列の変更と参照 ### 2次元配列の走査方法 ### 2次元配列のコピー ## ポインタ配列 ## 文字列 ### 文字列リテラル ### 文字列の定義方法 ### 文字列の長さを得る ### 文字列のコピー ### snprintfを使った文字列の合成 ### 文字列リテラルのポインタ配列 ## 構造体 ### 構造体変数の宣言 ### 構造体変数の初期化 ### 構造体変数のmemsetを使った初期化 ### 構造体変数の一時オブジェクトを使った初期化 ### 構造体変数のメンバへのアクセス ### 構造体配列 ## 共用体 ### 共用体の宣言 ### 共用体変数の定義 ### 共用体変数の値の変更 ### 共用体配列 ### 共用体はどこで使う? ## 列挙体 ### 列挙体の宣言 ### 列挙体変数の定義 ### 列挙体定数の使い方 #### 配列の要素数に使う #### 式に使う ## 可変長引数 ### print関数 ### sum関数 ### puts_args関数 ### my_printf関数 ## 動的メモリ ### malloc ### calloc ### realloc ### free ### メモリリーク ### 動的メモリの確保例 #### 変数のメモリを確保 #### 文字列のメモリを確保 ### ダブルフリー ### SAFE_FREEマクロ関数 ## ムーブ ### メモリの解放責任の移動 ## 動的配列 ### 動的配列の確保 ### 動的配列のリサイズ ### mystrdup ## 構造体と関数 ### Animal構造体 ### 関数のプレフィクス ### selfポインタと関数 ### 構築と破棄 ### イニシャライザ ### ファイナライザー ### 情報を出力する関数 ### Animalを使ってみる ## ファイル ### ランダムアクセス #### fseek #### ftell #### rewind ### read_file関数 ## パース ### 状態遷移 #### カンマ区切りのトークンのパース #### 関数状態遷移 ### 関数委譲 ### ストリームのパース ### 状態遷移を使ったストリームのパース ## エラー処理 ### errno ### enumを使ったエラーハンドリング ### Error構造体 ## 型 ### enumを使った型の抽象化 ## プリプロセッサプログラミング ### プリプロセッサとは ### CALC_DEF ### プリプロセッサプログラミングの注意点 ## テスト ### 単体テストとは? ### assertによる単体テスト ### バグは0ですか? ### テストは開発者の力量を上げる? ## 自作ライブラリ ### my_stringライブラリを作る #### 構造体の定義 #### ヘッダの定義 #### 実装 ##### コンストラクタ ##### デストラクタ ##### esc_del関数 ##### resize関数 ##### push_back関数 ##### clear関数 #### テスト ##### test_new_and_del ##### test_esc_del ##### test_push_back ##### test_clear ### my_stringをプリプロセッサで実装する #### ヘッダの定義 #### ライブラリを使う ### my_csvライブラリを作る #### ヘッダの定義 #### 実装 #### parse_line関数 #### free_toks関数 #### テスト ## おわりに




