In der Programmiersprache C verstehe ich, dass Variablen nur am Anfang eines Codeblocks definiert werden können und die Variable den Umfang des Blocks hat, in dem sie deklariert wurde. In diesem Sinne fragte ich mich, ob es ist ein schlechte Praxis betrachtet, um künstlich einen neuen Bereich wie in diesem Beispiel zu erstellen:Ist if (TRUE) eine gute Idee in C?
void foo()
{
... Do some stuff ...
if(TRUE)
{
char a;
int b;
... Do some more stuff ...
}
... Do even more stuff ...
}
TRUE Unter der Annahme zu 1 in einer Makro-Definition festgelegt ist, würde dieser Code ‚guter Code‘ in Betracht gezogen wird oder ist es erfahrene Programmierer zusammenzuzucken beim bloßen Gedanken daran?
Vielen Dank für Ihre Eingabe!
EDIT: Als Antwort auf einige der Antworten muss der Code, mit dem ich arbeite, mit einigen ziemlich alten Legacy-Systemen arbeiten. Obwohl es schön wäre, auf der Annahme von C99 zu agieren, können wir nicht garantieren, dass sie es haben werden.
afaik, {} hat einen eigenen Bereich sine ansi C (das ist circa 1990) – George
Der typische Anwendungsfall dafür ist das Debugging, bei dem man einfach zwischen if (42) und if (0) wechseln kann, statt kommentieren zu müssen. – ypnos
Ihr Titel beschreibt die Frage nicht wirklich. Es scheint, als ob Sie gefragt haben, ob es sinnvoll ist, WAHR zu definieren. – BobbyShaftoe