In dit artikel leer je over structuren in C ++ programmeren; wat is het, hoe definieert u het en gebruikt u het in uw programma.
Structuur is een verzameling variabelen van verschillende gegevenstypen onder één naam. Het is vergelijkbaar met een klasse in die zin dat beide een verzameling gegevens van verschillende gegevenstypen bevatten.
Bijvoorbeeld: u wilt wat informatie over een persoon opslaan: zijn / haar naam, burgerschapsnummer en salaris. U kunt eenvoudig verschillende variabelen naam, citNo, salaris maken om deze informatie afzonderlijk op te slaan.
In de toekomst zou u echter informatie over meerdere personen willen opslaan. Nu zou u verschillende variabelen moeten maken voor elke informatie per persoon: naam1, citNo1, salaris1, naam2, citNo2, salaris2
U kunt gemakkelijk visualiseren hoe groot en rommelig de code eruit zou zien. Omdat er geen relatie tussen de variabelen (informatie) zou bestaan, wordt het ook een ontmoedigende taak.
Een betere benadering is om alle gerelateerde informatie onder één naam te verzamelen Person
en deze voor iedereen te gebruiken. Nu ziet de code er ook veel schoner, leesbaarder en efficiënter uit.
Deze verzameling van alle gerelateerde informatie onder één naam Person
is een structuur.
Hoe declareer je een structuur in C ++ -programmering?
Het struct
sleutelwoord definieert een structuurtype gevolgd door een identifier (naam van de structuur).
Vervolgens kunt u binnen de accolades een of meer leden declareren (variabelen tussen accolades declareren) van die structuur. Bijvoorbeeld:
struct Person (char name (50); int age; float salaris;);
Hier wordt een structuurpersoon gedefinieerd met drie leden: naam, leeftijd en salaris.
Wanneer een structuur is gemaakt, wordt er geen geheugen toegewezen.
De structuurdefinitie is slechts de blauwdruk voor het creëren van variabelen. U kunt het zich voorstellen als een datatype. Wanneer u een geheel getal definieert zoals hieronder:
int foo;
De int
specificeert dat variabele foo alleen integer-elementen kan bevatten. Evenzo specificeert de structuurdefinitie alleen dat, welke eigenschap een structuurvariabele heeft wanneer deze wordt gedefinieerd.
Opmerking: vergeet niet om de declaratie te beëindigen met een puntkomma (;)
Hoe definieer ik een structuurvariabele?
Zodra u een structuurpersoon verklaart zoals hierboven. U kunt een structuurvariabele definiëren als:
Persoon factuur;
Hier wordt een rekening met structuurvariabelen gedefinieerd die van het type structuur P is erson
.
Als de structuurvariabele is gedefinieerd, wordt alleen het vereiste geheugen toegewezen door de compiler.
Aangezien u een 32-bits of 64-bits systeem hebt, is het geheugen float
4 bytes, het geheugen int
4 bytes en het geheugen char
1 byte.
Daarom wordt 58 bytes geheugen toegewezen voor structuurvariabele factuur.
Hoe krijg ik toegang tot leden van een structuur?
De leden van de structuurvariabele worden benaderd met een puntoperator (.) .
Stel dat u toegang wilt hebben tot de variabele rekening van de leeftijd van de structuur en deze 50 eraan wilt toewijzen. U kunt deze taak uitvoeren door de onderstaande code te gebruiken:
factuur.age = 50;
Voorbeeld: C ++ -structuur
C ++ Programma om gegevens toe te wijzen aan leden van een structuurvariabele en deze weer te geven.
#include using namespace std; struct Person ( char name(50); int age; float salary; ); int main() ( Person p1; cout << "Enter Full name: "; cin.get(p1.name, 50); cout <> p1.age; cout <> p1.salary; cout << "Displaying Information." << endl; cout << "Name: " << p1.name << endl; cout <<"Age: " << p1.age << endl; cout << "Salary: " << p1.salary; return 0; )
Uitvoer
Voer volledige naam in: Magdalena Dankova Voer leeftijd in: 27 Voer salaris in: 1024.4 Informatie weergeven. Naam: Magdalena Dankova Leeftijd: 27 Salaris: 1024.4
Hier wordt een structuur Persoon opgegeven met de naam, leeftijd en salaris van drie leden.
Binnen de main()
functie wordt een structuurvariabele p1 gedefinieerd. Vervolgens wordt de gebruiker gevraagd informatie in te voeren en de door de gebruiker ingevoerde gegevens worden weergegeven.
Bekijk ook deze structuurgerelateerde tutorials:
- Hoe structuren door te geven aan functies?
- Hoe pointers met structuren te gebruiken?