Mein C-Code enthält viele Funktionen mit Zeigern zu anderen Strukturen als Parameter, die keine Nullzeiger sein sollten. Um meinen Code besser lesbar, ich beschlossen, diesen Code zu ersetzen:Verwenden von Makro, um Nullwerte zu überprüfen
if(arg1==NULL || arg2==NULL || arg3==NULL...) {
return SOME_ERROR;
}
Mit diesem Makro:
NULL_CHECK(arg1,arg2,...)
Wie soll ich es schreiben, wenn die Anzahl der args unbekannt ist und sie verweisen auf verschiedene Strukturen? (Ich arbeite in C99)
+1; Es ist im Allgemeinen keine gute Idee, C-Makros zu schreiben, die die Syntax der Sprache ändern (hier durch Einfügen einer return-Anweisung in die Makrodefinition). Solche Aussagen zu verwenden, ist ein viel besserer Ansatz. –