S
aber achtung! das geht nur mit echten Arrays.
void foo(int *ptr)
{
printf("sizeof(ptr) = %d\n", sizeof(ptr));
}
void bar(void)
{
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
printf("sizeof(arr) = %d\n", sizeof(arr));
foo(arr);
}
Die Ausgabe wäre (auf einem x86 Rechner)
sizeof(arr) = 40
sizeof(ptr) = 4
Wenn du diesen Java Code in C umsetzten willst, würde ich eher strlen verwenden, denn das liefert zuverlässig (sofern es sich um ein \0-terminierendes String) die Länge der Zeichenkette.