C语言结构体函数的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LoveJiaYu/article/details/85343548

Demo1:

#include<stdio.h>
#include<malloc.h>

struct Hello {
    void (*p)(char* name);
};

void sayHello(char* name) {
    printf("你好,%s!\n", name);
}

int main() {
    struct Hello* h = (struct Hello*) malloc(sizeof(struct Hello));
    h->p = sayHello;
    h->p("鲍勃");

    return 0;
}

Demo2:

#include<stdio.h>
#include<malloc.h>

typedef struct Hello {
    void (*p)(char* name);
}Hello;

void sayHello(char* name) {
    printf("你好,%s!\n", name);
}

int main() {
    Hello h = {sayHello};
    h.p = sayHello;
    h.p("鲍勃");

    return 0;
}

两个实例结果相同:

猜你喜欢

转载自blog.csdn.net/LoveJiaYu/article/details/85343548
今日推荐