c语言结构体的使用

#include <stdio.h>

extern int showinfo(struct book b);

struct book
{
    char title[10];
    char author[10];
    float value;
    int (*show)(struct book b);
};

int showinfo(struct book b)
{
    printf("\n ---show: %s, %s, %f \n", b.title, b.author, b.value);
    return 0;
}

int showinfo2(struct book b)
{
    printf("\n ---show: %s is a good book. \n", b.title);
    return 0;
}

int main()
{
    /* 我的第一个 C 程序       "compilerPath": "D:\\MinGW\\bin\\g++.exe",*/
    printf("Hello, W3Cschool! \n");

    struct book s1 = {"chinese", "sophia", 22.5};
    printf("%s ,%s, %f \n", s1.title, s1.author, s1.value);
    s1.show = showinfo;
    s1.show(s1);
    // struct book s2;
    struct book s2 = {.author = "coco", .value = 10.0, .show = showinfo2};
    s2.value = 15;
    strcpy(s2.title, "bookbbboo");
    strcpy(s2.author, "coco2");
    s2.show(s2);
    // s2.title="lily";

    printf("%s ,%s, %f \n", s2.title, s2.author, s2.value);

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值