特別なファイルポインタ
・コンソールとの入出力を行う特別なファイルポインタ
標準入力 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);
備考 通常の変数のように関数に渡せる