appeler une fonction à partir d'une structure en c


//structs pointing to functions
#include <stdio.h>
// struct
typedef struct audio
{
    // All of these are asignable pointers to functions
    void (*play_ptr)();
    void (*stop_ptr)();
    void (*pause_ptr)();
    void (*forward_ptr)();
    void (*back_ptr)();
} audio;

// This function starts a new line in the console out put;
void space()
{
    printf("\n");
}
// five different funtions for the pointers in the struct to be pointed at.
void play_function()
{
    printf("Play >");
    space();
}

void stop_function()
{
    printf("Stop []");
    space();
}

void pause_function()
{
    printf("Pause ||");
    space();
}

void forward_function()
{
    printf("Forward -->");
    space();
}

void back_function()
{
    printf("Back <--");
    space();
}

int main()
{
    space();

    // Make a new Audio struct named Player and pass in the function names to asign them to the struct pointers
    audio Player = {play_function, stop_function, pause_function, forward_function, back_function};
    Player.play_ptr();    // This calls the play function from the audio struct Player
    Player.forward_ptr(); // This calls the forward function from the audio struct Player
    Player.pause_ptr();   // This calls the pause function from the audio struct Player
    Player.play_ptr();    // This calls the play function from the audio struct Player
    Player.back_ptr();    // This calls the back function from the audio struct Player
    Player.stop_ptr();    // This calls the stop function from the audio struct Player
}
Dirty Moose