Schattenfänger
Lt. Junior Grade
- Registriert
- Nov. 2010
- Beiträge
- 273
Hallo, ich dachte eigentlich Pointer verstanden zu haben aber irgendwie komme ich bei diesem Problem nicht weiter.
Wenn ich das ausführe erhalte ich wenn ich die Länge in der Methode berechne einen falschen Wert.
Wenn ich die gleiche Berechnung in der main ausführe, so bekomme ich genau die Anzahl der Elemente des Arrays.
Ich weiß, dass Arrays nichts anderes sind als Pointer auf das erste Element, bzw so in die Methode übergeben wird.
Ich dachte das es etwas damit zu tun haben könnte, aber theoretisch muss doch auch das aufs gleiche rauskommen.
Wenn ich mir das mal so ansehe:
arr= 0x10000;
avg(0x10000){
len=0x10020/0x10000
}
oder etwa nicht?
Code:
main{
int[] age={1,2,3,4,5};
avg(age);
}
void avg(int[] arr){
int len=sizeof(arr)/sizeof(arr[0]);
}
Wenn ich das ausführe erhalte ich wenn ich die Länge in der Methode berechne einen falschen Wert.
Wenn ich die gleiche Berechnung in der main ausführe, so bekomme ich genau die Anzahl der Elemente des Arrays.
Ich weiß, dass Arrays nichts anderes sind als Pointer auf das erste Element, bzw so in die Methode übergeben wird.
Ich dachte das es etwas damit zu tun haben könnte, aber theoretisch muss doch auch das aufs gleiche rauskommen.
Wenn ich mir das mal so ansehe:
arr= 0x10000;
avg(0x10000){
len=0x10020/0x10000
}
oder etwa nicht?