Was sind Expressions? [Programmieren] [C]

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Das Wort "Expression" oder in Deutsch "Ausdruck" ist gar nicht so leicht zu definieren.

Eine sehr einfache, aber wahrscheinliche falsche Definition wäre: Funktionsaufrufe und alles, was einen Wert hat. Folgendes wären somit Beispiele für Expressions:

123
"Hello"
a+b+(10-x)*c+myFunction(3,3,"Hello")-(b?123:0)+st.x
someFunction()

Das dritte Beispiel ist eine Expression, die wiederum aus anderen Expressions besteht (z.B. "10-x" oder "a+b").

Keine Expressions hingegen wären hingegen:

  • Definitionen und Deklarationen (siehe Antwort auf deine andere Frage)
  • Schleifen (for, while, do, ...)
  • Verzweigungen (if, if-else, switch-case)
  • Klassen (bei C++) und Datentypen
  • Preprozessoranweisungen (#include, #define, ...)
  • Die Anweisungen return, break, continue, ...
  • try-catch-Blöcke (bei C++)
  • ...

Wobei diese Dinge natürlich Expressions enthalten können. Beispiel:

return 123; // 123 ist eine Expression