C初心者として、次のコードを理解するのに苦労しています:
#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
} while (0)
この関数が#define
d である理由は、既存の関数をオーバーライドするためだと推測しましたが、無条件ステートメントdo ... while(0)
を使用したループのポイントは何ですか? ループ構造なしでこれを書くことはできませんか? exit()