Hallo und willkommen zurück.
Wir haben eine weitere Herausforderung für Sie.
Diese Herausforderung wird gehen wieder über Strukturen sein.
Es wird dich vertraut machen mit Elementen in einer Struktur, die
einen Zeiger enthalten.
Sie müssen also zuweisen Speicher für dieses Element.
Es wird Sie auch vertraut machen mit dem Deklarieren
einer Struktur als Zeiger und dem Übergeben einer Struktur als Zeiger auf eine Funktion.
Also hauptsächlich Strukturen und Hinweise in dieser Herausforderung.
Sie müssen also ein c-Programm schreiben Dadurch wird ein Strukturzeiger erstellt
und an eine Funktion übergeben.
Erstellen Sie eine Struktur mit dem Namen item mit den folgenden Mitgliedern.
Ein Artikelname, der sollte ein Zeichenzeiger sein.
Eine Menge, die ein int sein sollte.
Ein Preis sollte ein Float sein und Der Betrag sollte ein Float sein.
Die Menge, die in der gespeichert ist Struktur wird
im Wesentlichen die Menge mal der Preis sein, weil das wäre der Gesamtbetrag.
Ich möchte, dass Sie zwei Funktionen erstellen.
Ich möchte, dass Sie eine Funktion erstellen benanntes Leseelement,
das einen Strukturzeiger vom Typ Element als verwendet Ein Parameter sollte ein Zeiger sein.
Wir kennen die Vorteile von Funktionen hauptsächlich Zeiger als Argumente im
Gegensatz zu einer regulären Struktur Sie sind abwärtskompatibel.
Frühere Versionen des c-Compilers hat nicht mit Strukturen gearbeitet.
Und es ist auch viel schneller und effizienter, wenn Sie
einen Zeiger auf eine Funktion übergeben, weil Sie müssen nicht alle Elemente
kopieren, sondern nur die Adresse kopieren.
Wir werden also Funktionen haben die als Parameter Zeiger
auf Strukturen nehmen.
Dieser gelesene Artikel wird übernommen.
Was diese Funktion tun soll ist, es
sollte vom Benutzer einen Produktnamen, einen Preis einlesen und eine Menge oder einen Artikelnamen.
Der Inhalt sollte genau richtig sein in der Vergangenheit in Struktur gespeichert.
Sie gehen also an einem vorbei Zeiger auf eine Struktur, in der Sie
sie speichern möchten.
Ich möchte, dass du einen anderen erschaffst Funktion mit dem Namen Druckelement.
Dies ist auch ein Parameter Strukturzeiger vom Typ item.
Diese Funktion wird ausgedruckt den Inhalt des Parameters.
Also gehst du einfach um ein paar printfs zu machen.
Das wird ziemlich einfach sein.
In der Hauptfunktion möchten Sie ein Element im Grunde ein
Element der Zeigerstruktur zu deklarieren oder deklarieren Sie ein Element und einen Zeiger der Struktur,
weil Sie dann kann dem Punkt
des Artikels die Adresse des Artikels zuweisen.
Und dann müssen Sie auch zuordnen Speicher für den Elementnamenzeiger.
Denken Sie also an den Artikelnamen Element innerhalb der Struktur ist Zeichen spitz,
das heißt Sie müssen Speicher dafür zuweisen.
Wenn es ein Charakter wäre Array, müssten Sie nicht.
Aber denken Sie daran, wenn Sie ein Element haben Als Zeichenzeiger
wird lediglich ein Speicher für das tatsächliche Element erstellt Adresse, der Wert dieses Zeigers.
Es schafft kein Gedächtnis für was es zeigt.
Wenn Sie also eine Literalkonstante zuweisen dazu könnte es irgendwo im Gedächtnis sein.
Sie möchten also zuweisen Speicher
für dieses Elementnamenelement innerhalb der Struktur.
Der Elementzeiger sollte sein in beide das
Lesen der Druckelementfunktionen übergeben.
Also noch einmal, was diese Herausforderung helfen wird Sie verstehen Zeiger, wie Sie sie
als Mitglied innerhalb von verwenden können eine Struktur und dann auch,
wie man sie herumgibt und man hat etwas Übung mit etwas Malloc auch.
Und dann vergiss nicht, wann immer Wenn Sie ein Malloc machen, müssen Sie
ein kostenloses machen, also stellen Sie sicher, dass Sie Fügen Sie das Ihrem Programm hinzu.
Also viel Glück.
Ich werde eine Lösung anbieten in der nächsten Vorlesung.
Was die Größe angeht, können Sie Wählen Sie einfach eine beliebige Größe
wie 30 Zeichen oder ähnliches.
Sie müssen es nicht einlesen.
Lassen Sie mich wissen, wenn Sie Fragen haben. Vielen Dank.