Hier ist eine etwas andere, aber aufschlussreiche Sichtweise, warum viele Funktionen von C sinnvoll sind: http://steve.yegge.googlepages.com/tour-de-babel#C
Im Wesentlichen basiert die standardmäßige CPU-Architektur auf der Von-Neumann-Architektur, und es ist enorm nützlich, auf einem solchen Rechner auf den Speicherort eines Datenelements verweisen und damit arithmetische Operationen ausführen zu können. Wenn Sie irgendeine Variante von Assemblersprache kennen, werden Sie schnell erkennen, wie entscheidend dies auf niedriger Ebene ist.
C++ macht Zeiger ein wenig verwirrend, da es sie manchmal für Sie verwaltet und ihre Auswirkungen in Form von "Referenzen" verbirgt. Wenn Sie reines C verwenden, ist der Bedarf an Zeigern viel offensichtlicher: Es gibt keine andere Möglichkeit, um Call-by-Reference zu implementieren, es ist die beste Methode, um einen String zu speichern, es ist die beste Methode, um durch ein Array zu iterieren, etc.
8 Stimmen
Bereits diskutiert unter dieser Frage Hoffe, das hilft!
0 Stimmen
Eine weitere Diskussion über Pointer hier.
4 Stimmen
Für eine Liste von Büchern, siehe stackoverflow.com/questions/388242/…. Nach Java fand ich Accelerated C++ sehr nützlich.
265 Stimmen
Wir verwenden Zeiger, weil es einfacher ist, jemandem die Adresse zu Ihrem Zuhause zu geben, als jedem eine Kopie Ihres Zuhauses zu geben.
28 Stimmen
@RishiDua Das ist die beste Erklärung eines Zeigers, auf die ich je gestoßen bin. Danke dafür, es hat mein Verständnis erhöht :)
3 Stimmen
Pointern können auch verwendet werden, wenn Sie mehr als einen Wert/Objekt zurückgeben möchten.
2 Stimmen
Unterstützt von Rishi Dua, sind die Links in den obigen Kommentaren wie Zeiger. Stellen Sie sich vor, wenn sie stattdessen ganze Artikel oder Diskussionen hier kopiert und eingefügt hätten. Wir würden schnell "Platzmangel" auf der Seite haben.
0 Stimmen
@RishiDua wenn ich diesen Satz nur gesehen hätte, als ich anfing, C zu lernen... so viel Zeit gespart.. Danke :)