●構造体
#include <stdio.h>
#include <string.h>
struct Person
{
char name[50];
int age;
char gender;
};
int main()
{
struct Person pppp;
strcpy(pppp.name,"山田");
pppp.age = 20;
pppp.gender = 0;
printf(
"name: %s\n"
"age: %d\n"
"gender: %d\n",
pppp.name,pppp.age,pppp.gender);
}
●構造体の初期化
#include <stdio.h>
#include <string.h>
struct Person
{
char name[50];
int age;
char gender;
};
int main()
{
struct Person pppp = {"山田",20,0};
printf(
"name: %s\n"
"age: %d\n"
"gender: %d\n",
pppp.name,pppp.age,pppp.gender);
}
●構造体のコピー
#include <stdio.h>
#include <string.h>
struct Person
{
char name[50];
int age;
char gender;
};
int main()
{
struct Person kkkk = {"山田",20,0};
struct Person pppp;
pppp = kkkk;
printf(
"name: %s\n"
"age: %d\n"
"gender: %d\n",
pppp.name,pppp.age,pppp.gender);
}
●構造体の配列
#include <stdio.h>
#include <string.h>
struct Person
{
char name[50];
int age;
char gender;
};
int main()
{
struct Person pppp[4] = {
{"山田1",20,0},
{"山田2",21,1},
{"山田3",22,0},
{"山田4",23,1}
};
printf(
"name: %s\n"
"age: %d\n"
"gender: %d\n",
pppp[1].name,pppp[1].age,pppp[1].gender);
}
●typedefによる構造体の型定義と作成
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[50];
int age;
char gender;
} Person;
int main()
{
Person pppp = {"山田",20,0};
printf(
"name: %s\n"
"age: %d\n"
"gender: %d\n",
pppp.name,pppp.age,pppp.gender);
}
●構造体のメンバに対するアクセス
pppp.name
●構造体のメンバに対するアクセス2(構造体へのポインタとアロー演算子(->)によるアクセス)
Person *p;
p = &pppp
p->name
*(&pppp).name