Beim Durchsuchen eines Quellcodes bin ich auf eine Funktion wie diese gestoßen:
void someFunction(char someArray[static 100])
{
// do something cool here
}
Bei einigen Experimenten scheinen dort auch andere Qualifikanten zu erscheinen:
void someFunction(char someArray[const])
{
// do something cool here
}
Es scheint, dass Qualifizierer nur innerhalb von zulässig sind, [
]
wenn das Array als Parameter einer Funktion deklariert ist. Was machen diese? Warum ist es bei Funktionsparametern anders?
int foo(struct bar [static 1]);
stattint foo(struct bar *);
als Signatur für Funktionen zu verwenden, die keine NULL-Zeiger akzeptieren. (Ich weiß, dass gcc eine alternative, nicht standardmäßige Syntax hat, um solche Funktionen zu