Die Anweisung "mmc_enable;" ist zunächst kein Fehler, da in C jeder
Ausdruck (z.B. Variablen, Konstanten etc.) als Anweisung erlaubt ist
(nichts anderes ist i.Ü. ein echter Funktionsaufruf, z.B.
"mmc_enable();", da hier das Ergebnis nicht interessiert und sofort
verworfen wird; eine sinnvolle Anweisung ist das trotzdem, da vor dem
Verwerfen in jedem Fall die Funktion aufgerufen wird).
In diesem Falle ist "mmc_enable" jedoch der Pointer auf die Funktion
"mmc_enable". Dieser steht dem Programm als Konstante (nach dem Linken)
zur Verfügung, d.h. kann sofort ausgewertet werden. Da natürlich
außerdem nichts passiert, ist das eine Anweisung ohne Effekt – insb.
wird dadurch die Funktion nicht aufgerufen. Eine gültige Anweisung ist
es aber allemal, wenn auch i.A. nicht sehr sinnvoll.
Ein guter C-Compiler kann in solchen Fällen aber zumindest eine Warnung
generieren, der GCC tut das mit "-Wunused-value" (bei "-Wall" dabei).