Je me suis mal exprimé, apparemment.
Ce que je veux dire, c'est qu'entre:
struct foo {
int x;
void *p;
};et.
struct foo {
void *p;
int x;
};il
n'y a pas de différence d'API, parce qu'au niveau des sources, on s'en fout de l'ordre des membres de la structure.
Il y a, en revanche, une différence d'ABI parce qu'au niveau binaire, ça change tout.