You can, in C, have a struct member that is a function pointer. This allows you to place the address of a certain function inside the struct variable and then be able to call that function later.
It is more work than a C++ method, but you can make your C program work like a C++ program.