私がちょうど出くわしたいくつかの古いコード:
MLIST * new_mlist_link()
{
MLIST *new_link = (MLIST * ) malloc(sizeof(MLIST));
new_link->next = NULL;
new_link->mapi = NULL;
new_link->result = 0;
}
これはリンクリストを作成するために呼び出されていましたが、ステートメントがないことに気づきました。
return new_link;
そこにreturnステートメントがなくても、リストは適切に作成されました。なぜこれが起こったのですか?
編集:プラットフォーム:Mandriva200964ビットLinux2.6.24.7-サーバーGCC4.2.3-6mnb1
編集:おかしい...このコードは、約5つの異なるLinuxインストール、すべての異なるバージョン/フレーバー、およびMacでも正常に実行されました。