Hallo, leider funktioniert meine Funktion so nicht, die gibt mir, unabhängig von der Länge des Testarrays, immer 1 aus. was kann da los sein? evtl. irgendwas mit pointerarithmetik als übergabe? wenn ich die arraylänge ohne funktionsaufruf ausrechne funktioniert die formel mit sizeof.
1 | int cla[]={2,3,4,5,6}; //testarray |
2 | |
3 | int arraylen(int array[]) { |
4 | int len=sizeof(array)/sizeof(array[0]); |
5 | return len; |
6 | }
|
7 | |
8 | void main() { |
9 | int ba; |
10 | ba=arraylen(cla); |
11 | |
12 | }
|
ba ist immer 1, unabhängig von der arraylänge?!