構造体に関するメモ
struct 構造体名(省略可) {
構造体を構成する変数の定義(セミコロン区切り) : これをメンバ変数と呼ぶ
} この構造体の変数名宣言(省略可) ; (終わりにセミコロン)
例
#include <stdio.h>
struct square {
int width; /* メンバ変数の初期化はコンパイラによって出来たりできなかったり */
int height;
} box, hako; /* boxとhakoという変数名を定義 */
int main(void) {
struct { /* このように関数内でも定義できる */
int x;
int y;
int z;
} cube; /* 構造体名を省略したのでcube以外で同じ構造体の変数は宣言できない */
struct square shikaku; /* shikaku という変数名を定義 */
struct square *tateyoko; /* tateyoko というポインタを定義 */
tateyoko = &shikaku;
printf("%d\n", box.
width); /* ドットを使ってメンバ変数にアクセスする */ printf("%d\n", shikaku.
width);
printf("%d\n", (*tateyoko
).
width); printf("%d\n", tateyoko
->width
); /* ポインタの場合は -> の記号でメンバ変数にアクセスできる */
return 0;
}
最終更新:2013年10月28日 02:23