構造体とはメンバー変数と呼ばれる値の集合です。構造体の各メンバーは、異なる型の変数にすることができます。
構造体は複雑なオブジェクトです。
人物: 名前 + 電話番号 + 性別 + 身長
本: タイトル + 著者 + 価格 + タイトル
struct Peo
{
char name[20];
char tele[12];
char sex[5];
int high;
}; p1, p2;//p1和p2是两个全局的结构体变量
int main()
{
struct Peo p1 = { "张三","15596668862","男",181 };
printf("%s %s %s %d\n", p1.name, p1.tele, p1.sex, p1.high);//结构体变量.成员变量
return 0;
}
p1、p2はグローバル変数、pはローカル変数です。
内部に構造体を含む構造体を初期化するにはどうすればよいですか?
struct St
{
struct Peo p;
int num;
float f;
};
int main()
{
//初始化结构体
struct St s = { {"list","15596668888","女",166},100,3.14f };
//打印包含结构体的结构体。
printf("%s %s %s %d %d %f\n", s.p.name, s.p.tele, s.p.sex, s.p.high, s.num, s.f);
reture 0;
}
括弧内の { } には、別の構造体の内容が含まれます。
struct St s ={ {" 「、」 「、」 「, }, , }
仮パラメータがポインタの場合の構造体の使用方法
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Peo
{
char name[20];
char tele[12];
char sex[5];
int high;
}; p1, p2;//p1和p2是两个全局的结构体变量
void print1(struct Peo* sp)
{
printf("%s %s %s %d\n", sp->name, sp->tele, sp->sex, sp->high);//结构体指针->成员变量
}
int main()
{
struct Peo p1 ={"张三","1558976577","男",180};
print2(&p1);
return 0;
}
構造体ポインタ -> メンバ変数
sp->name = (*sp).name