H5.1 Arraygröße

jroerig
Neuling
Neuling
Beiträge: 2
Registriert: 4. Okt 2010 15:51

H5.1 Arraygröße

Beitrag von jroerig »

Moin Leutz,

ich bin hier gerade an der Hausübung 5.1a wo wir die Funktion int myAtoi(constant char *str) aus implementieren sollen. Die Übergabe an die Funktion funktioniert soweit und bekomme auch die Werte die ich erwarte wenn ich sie ausgebe.

Um nun aber mit dem Array weiter arbeiten zu können, müsste ich die Größe des übergebenen Arrays wissen. In Internetrecherchen habe ich bereits raus gefunden dass man das über die sizeof-Funktion raus bekommen kann. Wende ich die Funktion in der main-Methode an, gibt mir die Funktion auch immer den richtigen Werte aus. Wende ich sizeof jedoch in der myAtoi Methode an kommt immer eine 4 raus, egal wie groß das Array dimensioniert ist.

Meine Vermutung ist bereits dass das damit zusammenhängt das es sich beim Array um einen Pointer handelt der an die Methode übergeben wird. Ich würde ja die Größe des Arrays einfach in der main-Methode ermitteln und an die myAtoi-Methode übergeben, aber wenn ich die Aufgabenstellung richtig lese ist das nicht gewünscht das der Funktionsheader verändert wird.

Kann mir jemand sagen wie ich die Länge des Arrays auch nach der Übergabe in die Methode ausfinden kann?

mfg Johannes

Benutzeravatar
Ronny
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 133
Registriert: 18. Nov 2005 14:33
Wohnort: IGD

Re: H5.1 Arraygröße

Beitrag von Ronny »

jroerig hat geschrieben: Wende ich sizeof jedoch in der myAtoi Methode an kommt immer eine 4 raus, egal wie groß das Array dimensioniert ist.
Meine Vermutung ist bereits dass das damit zusammenhängt das es sich beim Array um einen Pointer handelt der an die Methode übergeben wird.
Vorlesung 9, Folien 7, 8 und 9
jroerig hat geschrieben: Kann mir jemand sagen wie ich die Länge des Arrays auch nach der Übergabe in die Methode ausfinden kann?
C-Strings sind null-terminiert.
Wenn das nicht hilft, dann alternativ Vorlesung 8, Folie 29

Antworten

Zurück zu „Archiv“