[C言語]ユーザが入力した情報を構造体にセット・表示するプログラム

ユーザに氏名とメアドを入力してもらって、それを構造体にセット・表示するプログラム。
構造体ポインタを使わない版
#include <stdio.h>

typedef struct _TAG_MYDATA {
    char name[32];
    char email[32];
} MYDATA;

main()
{
    MYDATA data;

    printf("あなたの名前:");
    gets(data.name);

    printf("あなたのメルアド:");
    gets(data.email);
    
    printf("あなたの情報:{name:%s, email:%s}\n", data.name, data.email);
}
構造体ポインタを使う版
#include <stdio.h>

typedef struct _TAG_MYDATA {
    char name[32];
    char email[32];
} *LPMYDATA;

main()
{
    LPMYDATA p;

    printf("あなたの名前:");
    gets(p->name);

    printf("あなたのメルアド:");
    gets(p->email);

    printf("あなたの情報:{name:%s , email:%s}\n", p->name, p->email);
}
構造体ポインタを使う版をさらに関数化したやつ
#include <stdio.h>

typedef struct _TAG_MYDATA {
    char name[32];
    char email[32];
} *LPMYDATA;


int input(LPMYDATA);
int output(LPMYDATA);

main()
{
    LPMYDATA p;
    input(p);
    output(p);
}


int input(LPMYDATA lp)
{
    printf("あなたの名前:");
    gets(lp->name);

    printf("あなたのメルアド:");
    gets(lp->email);

}

int output(LPMYDATA lp)
{
    printf("あなたの情報:{name:%s , email:%s}\n", lp->name, lp->email);
}
実行結果
あなたの名前:DQNEO
あなたのメルアド:dqneo@example.com
あなたの情報:{name:DQNEO , email:dqneo@example.com}
構造体ポインタを使う版の方が、オブジェクト指向っぽい感じがしますね。
カテゴリ:

人気記事