特別なファイルポインタ
・コンソールとの入出力を行う特別なファイルポインタ
	標準入力		stdin
	標準出力		stdout
	標準エラー出力	stderr

・オープン/クローズする必要はない

C言語研修(基礎編)
〜構造体〜

構造体とは
・いくつかの変数をまとめて1つにしたもの
−1つの変数として操作できる
−新しい型を作ったイメージ
・関連のあるデータをまとめて表現できる

構造体の宣言
	struct 構造体名(タグ){
		メンバ変数のリスト
		(変数宣言のように記述)
	};

構造体の宣言例
・構造体の宣言例
	struct PRESON{
		char pszName[100 + 1];
		int iAge;
		doouble fHeight;
	}

・構造体変数の宣言例
	struct PRESON sPerson;
	struct PRESON psPersonArray[100];

構造体変数の使用(メンバ変数)

・構造体のメンバ変数は、演算子(ドット演算子)を使用してアクセスする
 −一つ一つのメンバ変数は通常の変数と同様に扱う

  strcpy(sPerson1.pszName, "Person anme");
  sPerson1.iAge = 25;
  sPerson1.fHeight = 172.2;

構造体変数の使用(代入)
・構造体変数同士の代入は通常の変数のように = を使用する
 −同じ種類の構造体間でのみ代入ができる
		sPerson2 = sPerson1;
・各変数にたいして代入処理をしないため代入処理が簡潔になる

構造体変数の使用(ポインタ)
・構造体変数にも通常の変数のようにポインタ型がある
−ポインタ変数の宣言
 struct PERSON *psPreeson1;
 
 −変数のアドレスの取得
 psPerson1 = &psPErson2;
 
 −構造体のポインタ変数に *演算子を適用する
 (*psPerson1).pszName

構造体変数の使用(ポインタ変数)
−構造体のポインタ変数に *演算子を適用する
	(*psPerson1).pszName
	(*psPerson1).iAge
	(*psPerson1).fHeight
−構造体のポインタ変数に ->演算子を適用する
	psPerson1->pszName
	psPerson1->iAge
	psPerson1->fHeight

構造体変数の値渡し
宣言 引数のエデータ型を構造体型にする
	  void TestFunc(struct PERSON sTemp)
使用 値を関数に渡す
	  TestFunc(sPerson);
備考 通常の変数のように関数に渡せる

構造体変数の参照渡し
宣言 引数のデータ型を構造体ポインタ型にする
	  void TestFunc(struct PERSON *sTemp)
使用 値を関数に渡す
	  TestFunc(&sPerson);
備考 通常の変数のように関数に渡せる