Unterschied Array und Zeiger



  • @Wutz
    Sag mal was soll das eigentlich? Ich will die Feinheiten von C kennen lernen und bockst hier rum. Wenn du miese Laune hast, dann lass die bitte an anderen aus. 😡



  • Bitte ein Bit schrieb:

    @Wutz
    Sag mal was soll das eigentlich? Ich will die Feinheiten von C kennen lernen und bockst hier rum. Wenn du miese Laune hast, dann lass die bitte an anderen aus. 😡

    Halte einfach die Klappe von Dingen, von denen du keine Ahnung hast.
    Niemand hat hier was dagegen, wenn du eine Frage stellst.
    Wenn du aber selbst sagst, dass du schon alles weißt und alle Feinheiten kennst, dann trolle dich und halte den Platz frei für Leute, die nicht schon alles wissen und hier gegebene Antworten auch akzeptieren.
    Und ich lasse mir von niemandem hier erklären, was Zeiger und Arrays sind.



  • Oh leck, was kotzen mich zickige Leute an, welche absichtlich Dinge falsch verstehen. Wo habe ich dir denn erklärt was Zeiger sind und was Arrays? 😡

    PS: Die "Stümper" hatten 2015 einen Umsatz 2,29 Milliarden US Dollar.

    @Andere:
    Danke für die Antworten



  • Bitty, manche reagieren wenns um Standard-C/C++ ( <- :D, *schenkelklopf* ) geht auf ungenaue Formulierungen regelrecht allergisch ...

    ... und, tschuldige, wennst schon const int L* hinschreibst und dann erzählst L wär ein Pointer to array of sonstwas dann musst Du Dir schon die Frage gefallen lassen, ob Du uns verarschen willst oder eventuell nicht lesen kannst. Rückwärts lesen hilft (wenn du es auch vorwärts richtig hinschreibst): int const * L --> L is a pointer to const int.

    Wutzy schrieb:

    Es gibt genau 6 durch den Standard definierte Situationen, in denen ein Arrayname nicht in einen Zeiger zerfällt bzw. immer.

    Erzähl mal?



  • Das werde ich dir natürlich nicht erzählen.
    Genauso wenig wie ich die mir bisher bekannten 4 Situationen ausbreite, in denen ein Zeigercast notwendig ist und nichts kaputt macht.



  • "Ich weiß was!"
    "Aha. Was denn?"
    "Sag ich dir doch nicht!"

    Alles klar.



  • Swordfish schrieb:

    ... und, tschuldige, wennst schon const int L* hinschreibst und dann erzählst L wär ein Pointer to array of sonstwas dann musst Du Dir schon die Frage gefallen lassen, ob Du uns verarschen willst oder eventuell nicht lesen kannst.

    Ich sehe das wesentlich lockerer.

    In diesem Beispiel ist L im einzigen Aufruf der Funktion Sum ein Pointer auf ein Array. Nämlich auf das Array a aus main . Übrigens ist L hier natürlich auch ein Pointer auf das erste Element von a .

    Das ist aus der Laufzeit-Sicht, also aus der Sicht auf das, was wirklich im Zeiger drin steht. Das ist natürlich nicht dasselbe wie der Blick, der nur die Signatur der Funktion Sum isoliert betrachtet. Der Typ von L sagt mir nicht, worauf L zur Laufzeit wirklich zeigen wird.

    Der Typ kann allerdings einen Hinweis geben. Hier ist der Typ "Zeiger auf int" (einem void* könnte man z.B. gar nichts ansehen, aber auch eine void* -Variable könnte auf ein Array zeigen). Daher finde ich es nicht falsch zu sagen, dass L hier auf ein Array zeigt, obwohl der Typ von L "Zeiger auf int" ist.

    Wenn man als Typ auch Zeiger auf Array haben wollte, dann würde die Signatur z.B. so aussehen:

    int Sum(int (*L)[4])
    

    Der Parameter "Size" wäre dann überflüssig.



  • Durch Wiederholung von Unsinn steigt nicht der Wahrheitsgehalt.
    Zwei Blinde ergeben noch keinen Sehenden.



  • Schalt mal einen Gang runter du Blindfisch! Wo hab ich unsinn verbreitet?



  • Bitte ein Bit schrieb:

    Was ist eigentlich der genaue Unterschied zwischen einem Array und einem Zeiger?

    ein array ist eine ansammlung aufeinenderfolgender daten.
    ein zeiger ist eine adresse.
    🙂


Anmelden zum Antworten