Okay, ich habe viele Posts über seltsame Idiome und gängige Praktiken in C gesehen, die vielleicht nicht anfänglich intuitiv sind. Vielleicht sind ein paar Beispiele in Ordnung
Elemente in einem Array:
%Vor% %Vor%Single Zeile if / else / while / für safe #defines
%Vor%Meine Frage an die Experten von C-Programmierern lautet: Welche Idiome , Praktiken , Code-Snippits oder wenig bekannte Fakten zeigt viel C-Code, ist aber vielleicht nicht sehr intuitiv, bietet aber einen guten Einblick in C-Programmierung?
Der "Pfeiloperator" zum Herunterzählen von n-1 nach 0:
%Vor% Es ist nicht sehr häufig, aber es ist eine interessante Illustration, dass in gewisser Weise das Initialisieren / Testen / Aktualisieren von Teilen einer for
-Schleife Konvention ist. Das ist das übliche Muster, aber Sie können immer noch beliebige Ausdrücke einfügen.
Es ist auch eine nette kleine Erinnerung daran, wie lexikalische Analyse funktioniert.
Da jemand es trotzdem erwähnen wird, könnte es auch ich sein: Duffs Gerät . Es ist ein schönes Beispiel für die Art und Weise, wie Etiketten in C funktionieren, und das Verständnis hat mir beim ersten Mal eine "Aha-Erfahrung" gebracht. Dies ist sein ursprünglicher Code:
%Vor% Heute würde man register
nicht verwenden und die alte Funktionsdefinition vermeiden.
Der Komma-Operator, obwohl er vollkommen gut dokumentiert ist (K & amp; R usw.), erscheint in ziemlich viel algorithmischem Code und ist oft eine Überraschung für viele Programmierer, die ihm vorher noch nicht begegnet sind. Es wird oft verwendet, um einige Schleifenkonstrukte zu vereinfachen:
%Vor%Der obige Code multipliziert die Array-Elemente 0 bis 9 mit 9 bis 0, wobei verschachtelte Schleifen vermieden werden.
Bei Verwendung des Komma-Operators werden sowohl der erste als auch der zweite Ausdruck ausgewertet. Das Ergebnis des ersten Ausdrucks wird ignoriert, und das Ergebnis des zweiten Ausdrucks wird zurückgegeben.