c语言结构体的使用

#include 

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;
}

你可能感兴趣的:(c语言,开发语言)