Something like this perhaps:
Code:
typedef struct {
void (*fnptr)(void);
int parameters[8]; // maximum
} ADDRESS_TABLE_DEF;
void funct1(void); // prototype
void funct2(void); // prototype
ADDRESS_TABLE_DEF address_table[] = {
{ funct1, 0, 4, 12, 0, 0, 1, 7 },
{ funct2, 0, 3, 6, 1, 2, 7, 6, 1 },
};
But if those parameters are to be passed to the corresponding function, then that function definition should probably not be (void).
This example shows initialization to the defaults you mentioned. You said "static" a lot, but then you say you want to change the parameters... So I assume you do not want to treat this array of structures as "read only". That's why I didn't incorporate the 'static' attribute. Perhaps you meant global, or fixed in an immovable place in memory.