パンチ:4.23 C言語の章-(1)C言語について最初に知る-(12)構造

C言語の記事-(1)C言語の最初の知り合い-(12)構造

構造

構造はC言語で特に重要な知識ポイントです。構造により、C言語は複雑な型を記述できるようになります。

たとえば、学生を説明する場合、学生には名前+年齢+性別+学生番号が含まれます。
本について説明します。この本には、本のタイトル+出版社+ディレクトリ+著者およびその他の情報が含まれます。
これらは複雑なオブジェクトであり、C言語ではタイプを
カスタマイズできます。カスタムタイプの1つは構造と呼ばれます。struct

構造体は、いくつかの単一のタイプをグループ化する方法です。

たとえば、名前+年齢+性別+学生番号の情報を持っている人について説明しましょう。

struct Stu
{
    
    
    char name[20];//名字
    int age;      //年龄
    char sex[5];  //性别
    char id[15]//学号
};

int main()
{
    
    

return 0;
}

図面である家を建て、struct Stu構造物オブジェクトを作成sし、図面に従ってデータを入力します。

構造の初期化

//打印结构体信息
struct Stu s = {
    
    "张三"20"男""20180101"};

これはデータ型と見なすことができstruct Stu、sはデータを格納するために作成され结构体对象s内部のデータは使用され成员名struct Stu、内部のこれらの型はスペースを開きません。

印刷

//.为结构成员访问操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);

sで情報を印刷するには、タイプの順序で印刷する必要があります。これに"张三", 20, "男", "20180101"対応%s,%d,%s,%sして、順序を逆にすることはできず、次结构体对象.成员名の形式である必要があります。

印刷する方法もあります

//
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", (*ps).name, (*ps).age, (*ps).sex, (*ps).id);

psこれは構造体ポインタ変数です。これがポインタのメソッドですが、少し面倒です->。演算子を直接使用できます。

struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);

ps->name意味はでメンバーpsを指すことであり、意味は同じですsname(*ps).name

おすすめ

転載: blog.csdn.net/iqrmshrt/article/details/124357841