Wie sizeof (array) arbeitet zur Laufzeit?
Ich habe gelesen, dass der sizeof-Operator in C zur Kompilierungszeit interpretiert wird, und da der Compiler zur Kompilierungszeit die Array-Größe und deren Typ kennt, kann sizeof die Anzahl der von array belegten Bytes berechnen.
<code> #include<stdio.h> #include<string.h> int main() { int n; scanf("%d",&n); int a[n]; int s=sizeof(a); printf("%d",s); return 0; } </code>
Hier ist die Größe des Arrays zur Kompilierungszeit nicht bekannt. Wie funktioniert es dann richtig?