Ich bin neu in der Programmierung und beginne mit Objective-C, habe aber beschlossen, zu den Grundlagen zurückzukehren, bevor ich weiterarbeite. Ich verbringe etwas Zeit mit C und kämpfe mich durch die Verwirrung der Zeiger. Meine Frage ist, wie K & R sagt, fgets ist implementiert (P165, 2. Ausgabe). Code unten ist direkt aus dem Text mit ein paar meiner Kommentare.fgets implementation (K & R)
1) Wir übergeben ein char * s an die fgets-Funktion, an deren Speicherort wir die Benutzereingabe speichern. Warum müssen die lokalen char * cs deklariert werden - und dann mit s initialisiert werden? Warum können wir innerhalb der if-Anweisung nicht direkt s manipulieren/hinzufügen? Da cs zu Punkt s initialisiert wird, werden die Zeichen nicht genau zu cs hinzugefügt?
2) Eingeschlossen mit dem obigen ... Wenn die Funktion zurückkehrt, wird ein Test durchgeführt, um zu sehen, ob cs == s ist. Warum ist das notwendig?
Ich denke, dass ich etwas sehr grundlegendes vermisse - ich habe SO und Google überprüft, aber kann es nicht ganz herausfinden. Vielen Dank!
"beginnen mit Objective-C, aber haben beschlossen, zurück zu den Grundlagen zu gehen, bevor sie weiter voranschreiten" - ausgezeichnet, ** jeder Anfänger sollte das tun. ** –
Ich habe gerade begonnen zu fühlen, wie ich eine Spur von Arten in Obj-C. Seit ich wieder bei C bin, fühle ich mich wieder wie ein kompletter Klutz, aber obwohl ich mich wiederholt gegen Segmentierungsfehler und seltsames Programmverhalten stemme, ist es definitiv die Mühe wert. – drjimmie1976
Es ist es auf jeden Fall wert. Mastering C ist unausweichlich, um Objective-C zu verstehen. –