(Disclaimer: Pointer in C ++ ist ein sehr beliebtes Thema und ich bin gezwungen zu glauben, dass jemand vor mir diesen Punkt bereits angesprochen hat. Ich konnte jedoch keinen weiteren Hinweis finden. Bitte korrigieren Sie mich und fühlen Sie sich frei um diesen Thread zu schließen, wenn ich falsch liege.)
Ich bin auf viele Beispiele gestoßen, die zwischen dem Zeiger auf das erste Element des Arrays und dem Zeiger auf das Array selbst unterscheiden. Hier ist ein Programm und seine Ausgabe:
%Vor%Ausgabe:
%Vor% Wie erwartet, ergibt das Hinzufügen von 1 zu beiden unterschiedliche Ergebnisse. Aber ich bin nicht in der Lage, einen praktischen Nutzen für etwas wie p_whole
zu sehen. Sobald ich die Adresse des gesamten Array-Blocks habe, die man auch mit arr
erhalten kann, was kann ich mit einem solchen Pointer machen?
Für einzelne Arrays halte ich das nicht für sinnvoll. Wo es nützlich wird, ist mit mehrdimensionalen Arrays, die Arrays von Arrays sind. Ein Zeiger auf eines der Sub-Arrays ist ein Zeiger auf die Zeile, und das Inkrementieren bringt einen Zeiger auf die nächste Zeile. Im Gegensatz dazu ist ein Zeiger auf das erste Element des inneren Arrays ein Zeiger auf ein einzelnes Element und das Inkrementieren bringt Sie zum nächsten Element.