Wie zuzuteilen für eine Strukturraum in C-Programmierung

Wenn die malloc () Funktion in der C-Programmierung Übung braucht, stellt sich auf die Struktur - eine Struktur nach dem anderen, jeder von ihnen in einer neuen Stelle im Speicher sitzt, dank malloc (). Haben sie verloren gehen? Nein! Da jede Struktur verfolgt die nächste Struktur wie die Glieder einer Kette.

Die malloc () Funktion setzt beiseite Platz für alle Variablen-Typen C, einschließlich Arrays. Es kann auch eine Struktur in den Speicher quetschen, eine nette kleine Tasche für die Sache zu machen, die alle aus einem Zeiger verwiesen wird.

Wenn Sie Mode Speicher für eine neue Struktur, die durch einen Zeiger, oder jederzeit Sie, indem Sie einen Zeiger eine Struktur verweisen, kommt ein neuer C Operator ins Spiel: die -> Sache, die offiziell als die bekannt ist Struktur Zeigeroperator. Dieser Operator ist die Struktur-Zeiger Äquivalent des Punktes. Während die traditionelle Strukturelement Notation sieht wie folgt aus:

date.day = 14-

das gleiche Element, wenn es über eine Struktur Zeiger verweist sieht wie folgt aus:

Datum-> Tag = 14-

Warum wird die * peeker Schreibweise verwendet? Nun, es könnte sein. Das Originalformat für ein Strukturelement aus einem Zeiger verwiesen wird, ist dies:

(* Datum) · Tag = 14-

Die Klammern sind erforderlich, um den * Zeigeroperator auf dem Laufenden zu binden, die Struktur Zeigervariable Namen- andernfalls die. Betreiber würde Vorrang. Aber aus irgendeinem Grund, primitive C-Programmierer verabscheute das Format, so gingen sie mit -> statt.

ein strukturiertes Portfolio anlegen zeigt, wie eine Struktur kann unter Verwendung der malloc () Funktion erstellt werden. Die Struktur wird in Zeile 7 definiert, und eine Zeigervariable dieses Strukturtyps wird bei Zeile 12. In Zeile 15 erklärt, malloc () weist genügend Speicher für eine Struktur. Die Größe der Struktur wird unter Verwendung des sizeof-Operator ermittelt.

Die Schaffung eines strukturierten PORTFOLIO

# include # include # include int main () {struct Lager {char Symbol [5] -int Menge Float Preis -} - struct Lager * investieren - / * im Speicher erstellen Struktur * / invest = (struct Lager *) malloc ( sizeof (struct Lager)) - if (investieren == null) {puts ( "Irgendeine Art von malloc () Fehler") - Ausgang (1) -} / * Struktur zuweisen Daten * / strcpy (Investi-> Symbol "GOOG ") -invest-> Menge = 100-Investitionen> Preis = 801,19 - / * Anzeige Datenbank * / puts (" Anlage Portfolio")-printf("SymboltSharestPricetValuen")-printf("%-6st%5dt%.2ft%.2fn",invest->symbol,invest->quantity,invest->price,invest->quantity*invest->price)-return(0)-}

Der Zeiger verweist auf die neue Struktur investieren aus der Erinnerung geschnitzt. Die Zeilen 23 bis 25 die Struktur mit einigen Daten zu füllen. Dann werden die Zeilen 28 bis 34 zeigen die Daten. Beachten Sie sorgfältig, wie der Operator -> verwendet wird, die Struktur der Mitglieder zu verweisen.

Übung 1: Erstellen Sie ein neues Projekt, indem Sie den Quellcode mit Hilfe eines strukturierten Portfolio aus Erstellen. Erstellen und ausführen.

Menü