28953Fermer28955
TronLe 05/07/2016 à 18:19
Ah non mon bon monsieur, et voilà pourquoi :

--- H ---

typedef struct { uint16_t toto, titi, tata; } monapi_t;

void mafonction(monapi_t api);

#define mafonction(...) (mafonction)((monapi_t) { .toto = 0, .titi = 0, .tata = 0, ## __VA_ARGS__ } )

--- C ---

void (mafonction)(monapi_t api)
{
api.toto = api.titi * api.tata;
}

void main(void)
{
mafonction(.titi = 2); // toto et tata = 0 par defaut
}