Un vieux code que je viens de trouver :
MLIST * new_mlist_link()
{
MLIST *new_link = (MLIST * ) malloc(sizeof(MLIST));
new_link->next = NULL;
new_link->mapi = NULL;
new_link->result = 0;
}
Elle était appelée pour construire une liste liée, mais j'ai remarqué qu'il n'y avait pas d'instruction :
return new_link;
Même sans l'instruction return, la liste a été construite correctement. Pourquoi cela s'est-il produit ?
Editar: Plate-forme : Mandriva 2009 64bit Linux 2.6.24.7-server GCC 4.2.3-6mnb1
Editar: C'est drôle... ce code a également fonctionné avec succès sur environ 5 installations Linux différentes, toutes des versions/flavors différents, ainsi que sur un Mac.