How to use function pointer in struct with C

1 Answer

0 votes
#include <stdio.h>

typedef struct user user;

struct user
{
    int id;
    char name[32];

    void (*funcPtr)(user*);
};

void print_user(user* u) {
    printf("%i %s", u->id, u->name);
}

int main()
{
    user u = { .id = 123, .name = "abcd", .funcPtr = &print_user };

    u.funcPtr(&u);

    return 0;
}



/*
run:

123 abcd

*/

 



answered Jan 15, 2023 by avibootz

Related questions

2 answers 143 views
2 answers 169 views
169 views asked Aug 13, 2017 by avibootz
3 answers 271 views
1 answer 122 views
122 views asked May 24, 2018 by avibootz
1 answer 198 views
1 answer 173 views
173 views asked Mar 7, 2020 by avibootz
1 answer 142 views
...