Ich versuche C zu lernen, indem ich einige Quellcodes zeilenweise aufspalte. Ich stieß auf (was ich denke) Typ-Deklarationen in Klammern innerhalb von Ausdrücken (?) Und ich frage mich, warum das gemacht wird. Hier sind die Beispiele, die mich für eine Schleife werfen.Warum Typdeklarationen in Klammern für Ausdrücke?
static void foo(int a)
{
(void)a; // Why the parantheses and void inside of it?
}
struct bar *a = (struct bar *)calloc(1, sizeof(struct bar));
//^Why declare struct bar pointer?
Auf den ersten Annahmen, ich kann mir vorstellen, es hat etwas mit zwingt die Ergebnisse oder Werte zu tun hat, die Erklärung zu entsprechen, aber im Fall der Funktion Beispiel, warum nicht nur foo(void)
tun?
Wenn es auch einen Namen für dieses Muster gibt (weil ich mich schwer benenne oder beschreibe, was vor sich geht), wäre es für mich einfacher, später danach zu suchen.
Danke!
C und C++ sind ** verschiedene * Sprachen! Nach was fragst du? – Olaf
@Olaf Ich meinte C. C++ war nur ein vorgeschlagenes Tag, mit dem ich ging. Ich entschuldige mich für die Verwirrung. – MSD
Nein, war es nicht! Syntax-Vervollständigung ist keine Empfehlung. – Olaf