C ++ Struktur mit Beispiel

Inhaltsverzeichnis:

Anonim

Was ist eine Struktur in C ++?

Ein STRUCT ist eine C ++ - Datenstruktur, mit der Elemente verschiedener Datentypen zusammen gespeichert werden können. In C ++ ist eine Struktur ein benutzerdefinierter Datentyp. Die Struktur erstellt einen Datentyp zum Gruppieren von Elementen verschiedener Datentypen unter einem einzigen Datentyp.

Zum Beispiel:

Angenommen, Sie müssen Informationen über jemanden, seinen Namen, seine Staatsbürgerschaft und sein Alter speichern. Sie können Variablen wie Name, Staatsbürgerschaft und Alter erstellen, um die Daten separat zu speichern.

Möglicherweise müssen Sie jedoch in Zukunft Informationen über viele Personen speichern. Dies bedeutet, dass Variablen für verschiedene Personen erstellt werden. Zum Beispiel Name1, Staatsbürgerschaft1, Alter1 usw. Um dies zu vermeiden, ist es besser, eine Struktur zu erstellen.

In diesem C ++ - Tutorial lernen Sie:

  • Was ist eine Struktur in C ++?
  • Wann soll eine Struktur verwendet werden?
  • C ++ - Strukturinitialisierung
  • Strukturinstanzen erstellen
  • Zugriff auf Strukturmitglieder
  • Hinweise zur Struktur
  • Struktur als Funktionsargument
  • Einschränkung einer C ++ - Struktur

Wann soll eine Struktur verwendet werden?

Hier sind einige Gründe für die Verwendung der Struktur in C ++.

  • Verwenden Sie eine Struktur, wenn Sie Elemente verschiedener Datentypen unter einem Datentyp speichern müssen.
  • C ++ - Strukturen sind eher ein Werttyp als ein Referenztyp. Verwenden Sie eine Struktur, wenn Sie Ihre Daten nach der Erstellung nicht ändern möchten.

C ++ - Strukturinitialisierung

Um eine C ++ - Struktur zu erstellen, verwenden wir das Schlüsselwort struct, gefolgt von einem Bezeichner. Der Bezeichner wird zum Namen der Struktur. Hier ist die Syntax zum Erstellen einer C ++ - Struktur:

Syntax:

struct struct_name{// struct members}

In der obigen Syntax haben wir das Schlüsselwort struct verwendet. Der Strukturname ist der Name der Struktur.

Die Strukturelemente werden in geschweiften Klammern hinzugefügt. Diese Mitglieder gehören wahrscheinlich zu verschiedenen Datentypen.

Zum Beispiel:

struct Person{char name[30];int citizenship;int age;}

Im obigen Beispiel ist Person eine Struktur mit drei Mitgliedern. Zu den Mitgliedern gehören Name, Staatsbürgerschaft und Alter. Ein Mitglied ist vom Datentyp char, während die verbleibenden 2 beim Erstellen einer Struktur Ganzzahlen sind und kein Speicher zugewiesen wird. Der Speicher wird erst zugewiesen, nachdem der Struktur eine Variable hinzugefügt wurde.

Strukturinstanzen erstellen

Im obigen Beispiel haben wir eine Struktur mit dem Namen Person erstellt. Wir können eine Strukturvariable wie folgt erstellen:

Person p;

Das p ist eine Strukturvariable vom Typ Person. Wir können diese Variable verwenden, um auf die Mitglieder der Struktur zuzugreifen.

Zugriff auf Strukturmitglieder

Um auf die Strukturelemente zuzugreifen, verwenden wir die Instanz der Struktur und den Punkt (.) -Operator. So greifen Sie beispielsweise auf das Alter des Mitglieds der Struktur Person zu:

p.age = 27;

Wir haben über die Instanz der Struktur auf das Mitgliedsalter von struct Person zugegriffen. Wir haben dann den Wert des Mitgliedsalters auf 27 gesetzt.

Beispiel 1:

#include using namespace std;struct Person{int citizenship;int age;};int main(void) {struct Person p;p.citizenship = 1;p.age = 27;cout << "Person citizenship: " << p.citizenship << endl;cout << "Person age: " << p.age << endl;return 0;}

Ausgabe:

Hier ist ein Screenshot des Codes:

Code Erläuterung:

  1. Nehmen Sie die iostream-Header-Datei in unser Programm auf, um die darin definierten Funktionen zu verwenden.
  2. Fügen Sie den Standard-Namespace ein, um seine Klassen zu verwenden, ohne ihn aufzurufen.
  3. Erstellen Sie eine Struktur mit dem Namen Person.
  4. Der Anfang des Strukturkörpers.
  5. Erstellen Sie ein Strukturelement mit dem Namen "Citizenship" vom Typ "Integer".
  6. Erstellen Sie ein Strukturelement mit dem Namen age of type integer.
  7. Ende des Strukturkörpers.
  8. Rufen Sie die Funktion main () auf. Die Programmlogik sollte im Hauptteil dieser Funktion hinzugefügt werden.
  9. Erstellen Sie eine Instanz der Struktur Person und geben Sie ihr den Namen p.
  10. Setzen Sie den Wert der Staatsbürgerschaft von struct member auf 1.
  11. Setzen Sie den Wert für das Alter des Strukturmitglieds auf 27.
  12. Drucken Sie den Wert der Staatsbürgerschaft des Strukturmitglieds zusammen mit einem anderen Text auf die Konsole.
  13. Drucken Sie den Wert des Alters des Strukturmitglieds zusammen mit einem anderen Text auf der Konsole aus.
  14. Das Programm sollte einen Wert zurückgeben, wenn es erfolgreich ausgeführt wird.
  15. Ende der main () -Funktion.

Hinweise zur Struktur

Es ist möglich, einen Zeiger zu erstellen, der auf eine Struktur zeigt. Es ähnelt der Erstellung von Zeigern, die auf native Datentypen wie int, float, double usw. verweisen. Beachten Sie, dass ein Zeiger in C ++ einen Speicherort speichert.

Beispiel 2:

#include using namespace std;struct Length{int meters;float centimeters;};int main(){Length *ptr, l;ptr = &l;cout << "Enter meters: ";cin >> (*ptr).meters;cout << "Enter centimeters: ";cin >> (*ptr).centimeters;cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters";return 0;}

Ausgabe:

Hier ist ein Screenshot des Codes:

Code Erläuterung:

  1. Nehmen Sie die iostream-Header-Datei in unser Programm auf, um ihre Funktionen nutzen zu können.
  2. Nehmen Sie den Standard-Namespace in unser Programm auf, um seine Klassen zu verwenden, ohne ihn aufzurufen.
  3. Erstellen Sie eine Struktur mit dem Namen Länge.
  4. Beginn des Körpers der Struktur Länge.
  5. Erstellen Sie ein Strukturelement mit dem Namen meter vom ganzzahligen Datentyp.
  6. Erstellen Sie ein Strukturelement mit dem Namen Zentimeter vom Typ Ganzzahl.
  7. Ende des Körpers der Struktur Länge.
  8. Rufen Sie die Funktion main () auf.
  9. Beginn des Hauptteils der Funktion main ().
  10. Erstellen Sie eine Zeigervariable * ptr und eine normale Variable l vom Typ Länge.
  11. Speichern Sie die Adresse der Variablen l in unserer Zeigervariablen.
  12. Zeigen Sie auf der Konsole eine Meldung an, in der der Benutzer aufgefordert wird, den Wert für variable Zähler einzugeben.
  13. Lesen Sie den vom Benutzer eingegebenen Wert über die Tastatur. Auf die Elementfunktionsanzeigen wird hier über die Zeigervariable zugegriffen.
  14. Zeigen Sie eine Meldung auf der Konsole an und fordern Sie den Benutzer auf, den Wert für variable Zentimeter einzugeben.
  15. Lesen Sie den vom Benutzer eingegebenen Wert über die Tastatur. Auf die Elementfunktionszentimeter wird hier über die Zeigervariable zugegriffen.
  16. Zeigen Sie die vom Benutzer gelesenen Werte auf der Konsole zusammen mit einem anderen Text an.
  17. Das Programm muss bei erfolgreicher Ausführung einen Wert zurückgeben.
  18. Ende des Körpers der main () - Funktion.

Struktur als Funktionsargument

Sie können eine Struktur als Argument an eine Funktion übergeben. Dies geschieht auf die gleiche Weise wie das Übergeben eines normalen Arguments. Die Strukturvariablen können auch an eine Funktion übergeben werden. Ein gutes Beispiel ist, wenn Sie die Werte von Strukturelementen anzeigen müssen. Lassen Sie uns dies demonstrieren:

Beispiel 3:

#includeusing namespace std;struct Person{int citizenship;int age;};void func(struct Person p);int main(){struct Person p;p.citizenship = 1;p.age = 27;func(p);return 0;}void func(struct Person p){cout << " Person citizenship: " << p.citizenship<

Ausgabe:

Hier ist ein Screenshot des Codes:

Code Erläuterung:

  1. Fügen Sie die iostream-Header-Datei in unsere Datei ein. Wir werden dann seine Funktionen verwenden, ohne Fehler zu erhalten.
  2. Nehmen Sie den Standard-Namespace in unser Programm auf, um seine Klassen zu verwenden. Wir müssen den Namespace nicht aufrufen, um seine Klassen zu verwenden.
  3. Erstellen Sie eine Struktur mit dem Namen Person.
  4. Beginn des Körpers der Struktur Person.
  5. Erstellen Sie ein Mitglied von struct Person. Das Mitglied heißt Staatsbürgerschaft und ist vom Typ Integer.
  6. Erstellen Sie ein Mitglied von struct Person. Das Mitglied heißt age und ist vom Typ Integer.
  7. Ende des Körpers der Struktur Person.
  8. Erstellen Sie eine Funktion, die die Instanz von struct Person, p als Argument verwendet.
  9. Rufen Sie die Hauptfunktion auf. Das {markiert den Beginn des Hauptteils der main () -Funktion.
  10. Erstellen Sie eine Instanz von struct Person und geben Sie ihr den Namen p.
  11. Greifen Sie auf die variable Staatsbürgerschaft des Strukturmitglieds zu, indem Sie die Instanz der Struktur p verwenden und ihr den Wert 1 zuweisen.
  12. Greifen Sie mit der Instanz der Struktur p auf die Variable age des Strukturmitglieds zu und weisen Sie ihr den Wert 27 zu.
  13. Rufen Sie die Funktion auf und übergeben Sie ihr die Instanz der Struktur Person, p, als Argument.
  14. Die Funktion muss bei erfolgreicher Ausführung einen Wert zurückgeben.
  15. Ende des Körpers der main () - Funktion.
  16. Erstellen Sie den Hauptteil der Funktion.
  17. Der Beginn des Funktionskörpers.
  18. Greifen Sie auf den Staatsbürgerschaftswert des Strukturmitglieds zu und drucken Sie ihn zusammen mit anderem Text auf der Konsole aus.
  19. Greifen Sie auf den Alterswert des Strukturmitglieds zu und drucken Sie ihn zusammen mit anderem Text auf der Konsole aus.
  20. Ende des Funktionskörpers.

Einschränkung einer C ++ - Struktur

Das Folgende sind die Einschränkungen von Strukturen:

  • Der Datentyp struct kann nicht wie integrierte Datentypen behandelt werden.
  • Operatoren wie + - und andere können nicht für Strukturvariablen verwendet werden.
  • Strukturen unterstützen das Ausblenden von Daten nicht. Auf die Mitglieder einer Struktur kann von jeder Funktion unabhängig von ihrem Umfang zugegriffen werden.
  • Statische Elemente können nicht innerhalb des Strukturkörpers deklariert werden.
  • Konstruktoren können nicht innerhalb einer Struktur erstellt werden.

Zusammenfassung:

  • Eine Struktur ist eine Datenstruktur, in der Datenelemente verschiedener Typen gespeichert werden.
  • Während ein Array Datenelemente eines ähnlichen Typs speichert, speichert eine Struktur Datenelemente unterschiedlichen Typs.
  • Eine Struktur sollte verwendet werden, wenn nicht erwartet wird, dass die Datenelemente ihren Wert ändern.
  • Auf die Mitglieder einer Struktur wird mit dem Punkt (.) -Operator zugegriffen.
  • Wir müssen eine Instanz der Struktur erstellen.
  • Um eine C ++ - Struktur zu erstellen, verwenden wir das Schlüsselwort struct.
  • Zeiger, die auf eine Struktur zeigen, werden ähnlich wie Zeiger erstellt, die auf reguläre Typen zeigen.
  • Eine Struktur kann als Argument an eine Funktion übergeben werden, genauso wie gewöhnliche Funktionen übergeben werden.