#include "stdio.h"
#define COUNT(a) (sizeof(a) / sizeof(*(a)))
void test(int b[]) {
printf("2, Anzahl:%d\n", COUNT(b));
}
int main(void) {
int a[] = { 1,2,3 };
printf("1, Anzahl:%d\n", COUNT(a));
test(a);
return 0;
}
Das Ergebnis ist offensichtlich:
1, Anzahl:3
2, Anzahl:1
Meine Fragen:
- Wo wird die Längeninformation (Anzahl/Größe) gespeichert, wenn "a" deklariert wird?
- Warum geht die Längeninformation (Anzahl/Größe) verloren, wenn "a" an die Funktion test() übergeben wird?