Come sappiamo, la parola chiave è static
multiple meanings in C. C99 aggiunto la possibilità di scrivere legalmentePerché la parola chiave "statica" ha tanti significati in C e C++?
void foo (int arr[static 50])
{
// ...
}
che aggiunge alla confusione, e C++ ha variabili membro statiche e le funzioni.
Questo non sarebbe così problematico se tutti gli usi potrebbero essere collegati in qualche modo, ma trovo difficile trovare quel collegamento per alcuni dei casi. In particolare, perché la parola chiave static
dovrebbe essere utilizzata per modificare la visibilità (linkage), o cosa sulla terra ha a che fare con la quantità minima di elementi dell'array.
Quindi c'è una ragione storica per l'abuso della parola chiave static
o c'è un collegamento segreto sotto il cofano che connette tutti i suoi usi?
Che cosa significa questa sintassi nel codice di esempio? – Kos
Significa che il parametro "arr" è garantito per avere almeno 50 elementi. – Oystein
Vedere [here] (http://stackoverflow.com/questions/3430315/purpose-of-static-keyword-in-array-parameter-of-function) – Oystein