Thread Länge eines arrays: länge in Bytes oder Anzahl der Elemente
(12 answers)
Opened by format_c at 2005-03-13 21:03
das liegt daran, dass du an der stelle in print_array ein sizeof auf einen Pointer machst; und ein Pointer auf einer 32-Bit Maschine ist immer 4 Bytes groß (egal wie der typ ist).
Du müsstest wenn schon die größe mitgeben; also in diesem fall und pass auf, wenn du lokale deklarationen machst Code: (dl
)
int a[2] = {1,2}; ist zwar solange okay bis du das array vergrößern willst; lokale deklarationen kannst du in ihrer größe nicht ändern; du müsstest dann schon mit malloc, realloc und free arbeiten (oder wenn du richtig c++ schreiben willst mit new und delete, wobei du dir dann das realloc für new/delete selber schreiben musst). Wenn du wissen willst, wie das alles passiert in c/c++, kann ich dir selber schreiben nur empfehlen; ansonsten benutz so sachen wie die STL; damit kann man auch schnell und effizient programmieren! |