Wo ist das Problem bei dieser einfachen Funktion?

Diskutiere Wo ist das Problem bei dieser einfachen Funktion? im C/C++ Forum; Es ist ein script von der Uni und ich bin auch nicht so lange dabei. Die Grundlagen sollte ich anhand solcher Aufgaben lernen. Ich würde mich über...

  1. ElMadridano
    ElMadridano Neues Mitglied
    Es ist ein script von der Uni und ich bin auch nicht so lange dabei. Die Grundlagen sollte ich anhand solcher Aufgaben lernen. Ich würde mich über Tipps freuen.
     
  2. temi
    temi Aktives Mitglied
    Man kann keine Grundlagen lernen, indem man Aufgaben löst, von deren Grundlagen man keine Ahnung hat und dann versucht sich eine fertige Lösung zu beschaffen.

    Irgendwo in dem Script muss ja etwas über Zeiger, Definition und Deklaration von Zeigervariablen, C-Arrays und Zeigerarithmetik stehen.
     
  3. ElMadridano
    ElMadridano Neues Mitglied
    Die Sachen stehen da drin, aber nichts mit C-Arrays. Über Arrrays und Pointer kannte ich mich schon etwas aus, nur wusste ich nicht wie ich die beiden Sachen verbinden soll. Aber durch eigene Recherche hab ich rausgefunden, was " IntZeiger = IntArray" bedeutet. Nämlich wird dem 1.Feld im Array dieser Pointer zugewiesen. Und wenn man dann den 2.Feld im Array haben möchte muss man IntZeiger++ schreiben und für jede weitere dann IntZeiger=IntArrray +2 oder +3 und so weiter.
    Jetzt weiß ich aber nicht, wie ich in den Pointer was Reinschreiben, welches dann vom Array übernommen wird.
    Tipps reichen mir schon, darüber würde ich mich freuen,
    Danke
     
  4. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Nein.
    IntZeiger wird die Adresse des Arrays (was gleichzeitig die Adresse des ersten Elements ist) zugewiesen.
    Das Array wird da nicht verändert.
     
  5. ElMadridano
    ElMadridano Neues Mitglied
    Jawoll alles klar danke, Aufgabe gelöst
     
  6. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Lässt du uns an der Lösung teilhaben? :)
     
  7. ElMadridano
    ElMadridano Neues Mitglied
    Oh ja stimmt, wie unhöflich von mir
    Code (C):
    int main()
    {
        int *IntZeiger=NULL;
        int IntArray[5];

        IntZeiger=IntArray;
        *IntZeiger=5;
        *(IntZeiger+1)=4;
        printf("Wert im Feld 1 ist %i\n", IntArray[0]);
        printf("Wert im Feld 2 ist %i\n", IntArray[1]);
    }
    Über Meinungen und weitere Tipps würde ich mich freuen,
    Danke
     
  8. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Du kannst auch beim Zugriff über den Pointer die Schreibweise mit Klammern nutzen: IntZeiger[0]=5;
     
  9. ElMadridano
    ElMadridano Neues Mitglied
    Geiler Tipp Danke
    Code (C):
        int *IntZeiger=NULL;
        int IntArray[5];
        IntZeiger=IntArray;
        IntZeiger[0]=5;
        IntZeiger[1]=4;
        printf("Wert im Feld 1 ist %i\n", IntArray[0]);
        printf("Wert im Feld 2 ist %i\n", IntArray[1]);
     
  10. mihe7
    mihe7 Bekanntes Mitglied
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Wo ist das Problem bei dieser einfachen Funktion? - Ähnliche Themen

Problem mit Hibernate c3p0
Problem mit Hibernate c3p0 im Forum Datenbankprogrammierung
Problem mit SOAP / javax.xml importieren
Problem mit SOAP / javax.xml importieren im Forum Java Basics - Anfänger-Themen
Problem mit Warten-Dialog
Problem mit Warten-Dialog im Forum AWT, Swing, JavaFX & SWT
Problem mit Matheaufgabe / int first = mScanner.nextInt();
Problem mit Matheaufgabe / int first = mScanner.nextInt(); im Forum Java Basics - Anfänger-Themen
Eclipse EE und Java FX Autocomplete Probleme
Eclipse EE und Java FX Autocomplete Probleme im Forum IDEs und Tools
Thema: Wo ist das Problem bei dieser einfachen Funktion?