C言語 -- 構造


ここに画像の説明を挿入

コンセプトとステートメント

概念:
構造体はメンバー変数と呼ばれる値の集合です。構造体の各メンバーは、他の種類変数
== 注: == 配列は同じ型のコレクションのセットです

ステートメント
学生の例を挙げてください

最初をお勧めします

  • 最初
struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[3];
	int high;
};
  • 二番目
struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[3];
	int high;
}x1,x2;

このうち、x1 と x2 は Student 構造に従って作成された 2 つの変数です
グローバル構造変数

作成:
構造体のメンバーはスカラー、配列、その他の構造体にすることができます。

struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[3];
	int high;
};
struct Pe
{
    
    
	struct Student p1;
	int num;
	char ID_card[13];
};

変数の初期化:

  • 単一構造
#include <stdio.h>
struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[5];
	int high;
};
int main()
{
    
    
	struct Student p = {
    
     "张三","12312345678","男",183 };
	return 0;
}
  • 入れ子構造
#include <stdio.h>

struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[5];
	int high;
};
struct Pe
{
    
    
	struct Student p1;
	int num[10];
};
int main()
{
    
    
	struct Pe c = {
    
     {
    
    "张三","12312345678","男",183},123 };
	return 0;
}

印刷:

int main()
{
    
    
	struct Student p = {
    
     "张三","12312345678","男",183 };
	struct Pe c = {
    
     {
    
    "张三","12312345678","男",183},123 };
	printf("%s %s %s %d\n", p.name, p.id, p.sex, p.high);
	printf("%s %s %s %d %d\n", c.p1.name,c.p1.id,c.p1.sex,c.p1.high, c.num);
	return 0;
}

構造体へのアクセス方法

  • 構造体ポインタ
    より良い
struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[5];
	int high;
};
void print2(struct Student* sp)
{
    
    
	printf("%s %s %s %d\n", sp->name, sp->id, sp->sex, sp->high);
}
int main()
{
    
    
	struct Student p = {
    
     "张三","12312345678","男",183 };
	print2(&p);
	return 0;
}
  • オペレーター
struct Student
{
    
    
	char name[20];
	char id[12];
	char sex[5];
	int high;
};
void print1(struct Student sp)
{
    
    
	printf("%s %s %s %d\n", sp.name, sp.id, sp.sex, sp.high);
}
int main()
{
    
    
	struct Student p = {
    
     "张三","12312345678","男",183 };
	print1(p);
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_72138633/article/details/131031534