Typedef-structuur in C++

Typedef Structuur In C



De programmeertaal C++ biedt een trefwoord “typedef” waarmee ontwikkelaars aliassen kunnen maken van bestaande gegevenstypen, die primitieve basistypen kunnen zijn, zoals ‘int’, ‘long’ of door de gebruiker gedefinieerde structuurgegevenstypen. Het trefwoord “typedef” creëert geen nieuw type. In plaats daarvan wordt een bijnaam (of een alias) van een bestaand type gemaakt. Het gebruik van “typedef” kan de code beter leesbaar maken en de energie en tijd besparen die nodig is om lange typenamen herhaaldelijk uit te typen. Als het echter te veel in het programma wordt gebruikt, kan dit de code verwarrend maken, vooral bij grote projecten. In dit artikel zullen we onderzoeken hoe je een structuur kunt definiëren met “typedef”, hoe het helpt om de coderegel te verkleinen, wat het gebruik van “typedef” is, en nog veel meer met behulp van illustratieve voorbeelden.

De Typedef-structuur in C++ begrijpen

In C++ is “typedef” een trefwoord dat nieuwe namen geeft aan bestaande ingebouwde gegevenstypen, pointers, structuren en door de gebruiker gedefinieerde gegevenstypen die als alias in het hele programma werken. Simpel gezegd: het geeft beschrijvende namen aan de ingebouwde of door de gebruiker gedefinieerde gegevenstypen, die voor zichzelf kunnen spreken. Het helpt ook het aantal regels code te verminderen en de ingewikkelde gegevenstypen te vereenvoudigen. Zoals eerder vermeld wordt echter te veel gebruik van “typedef” niet aanbevolen, omdat dit tot verwarring kan leiden.

De struct is een ander sleutelwoord dat wordt gebruikt om een ​​structuur te definiëren en te initialiseren. De structuur in C++ is een samengestelde gegevenstypedeclaratie waarmee ontwikkelaars verschillende gegevenstypen of variabelen op één plek kunnen groeperen.







In C++ zijn “struct” en “typedef struct” hetzelfde. Er is geen praktisch verschil tussen “typedef struct” en “struct” omdat ze hetzelfde werken. Telkens wanneer een klasse, enum, unie of struct wordt gedeclareerd of gedefinieerd in C++, is het niet nodig om deze impliciet te definiëren als “typedef”, omdat ze standaard “typedef” zijn.



Syntaxis van de Typedef-structuur in C++

De syntaxis van de structuur “typedef” is hetzelfde als de structuur zonder “typedef”. Het heeft alleen een expliciete definitie van “typedef” nodig met het trefwoord “struct”. Zie de volledige syntaxis hieronder:



typedef structureren {
< data type > < variabele1 > ;
< data type > < variabele2 > ;
< data type > < variabele3 > ;
} < structuurnaam > ;

De structuur wordt nu gedefinieerd door simpelweg de te gebruiken. We kunnen meerdere variabelen van dit structuurtype definiëren. Zie de volgende definitie:





< structuurnaam > variabele4, variabele5, variabele6 ;

Laten we nu enkele voorbeelden verkennen voor een duidelijker en beter begrip van de “typedef” -structuur in C++.

Voorbeeld 1:

In het eerste voorbeeld van de “typedef”-structuur in C++ nemen we een eenvoudig programma om uit te leggen hoe het kan worden gedefinieerd en gebruikt in C++-projecten. Bekijk de volgende code en laten we verder gaan met de uitleg:



#include
gebruik makend van naamruimte soa ;
structureren decimale {
int 1 december ;
int 2 december ; } ;
int voornaamst ( ) {
structureren decimaal d ;
D. 1 december = 10 ;
D. 2 december = 23 ;
uit << D. 1 december << eindl ;
uit << D. 2 december << eindl ;
opbrengst 0 ; }

In deze C++-code definiëren we een decimale structuur en demonstreren we het gebruik ervan binnen de hoofdfunctie. Laten we elke regel code eens bekijken.

Het programma begint met het opnemen van het benodigde headerbestand zoals “#include ” en het gebruiken van de “std” naamruimte voor invoer-/uitvoerbewerkingen en het binnen bereik brengen van de “std” naamruimte. Daarna wordt een structuur met de naam 'decimaal' gedefinieerd. De structuur bestaat uit twee leden: “dec1” en “dec2”, beide van het type “int”.

In de hoofdfunctie wordt een exemplaar van de decimale structuur gemaakt. Dit wordt gedaan met behulp van de “d;” aangifte decimaal. De structuur heeft twee leden, dus we hebben toegang tot beide met behulp van de instantie 'd'. De waarden “dec1” en “dec2” worden vervolgens toegewezen met respectievelijk 10 en 23, met behulp van de definitie “d.dec1” en “d.dec2”. Ten slotte worden de waarden van “dec1” en “dec2” met behulp van “cout” naar de console afgedrukt. Het programma geeft de volgende outputs:

De gegeven output-snapshot laat zien hoe een eenvoudige “typedef”-structuur genaamd “decimal” wordt gebruikt om twee decimale getallen binnen de hoofdfunctie op te slaan en te manipuleren. De “typedef”-structuur zorgt voor een betere organisatie en beheer van gerelateerde gegevens in een C++-programma.

Voorbeeld 2:

In het voorbeeld dat we eerder hebben uitgelegd, wordt in de structuur slechts één type gegevens gegeven. Laten we nu meerdere soorten gegevens in een structuur definiëren en kijken hoe “typedef” kan helpen bij het verkleinen van de reeks codes en het vereenvoudigen van de complicaties van de code. De code wordt hieronder ter referentie gegeven:

#include
gebruik makend van naamruimte soa ;
typedef structureren woordenboek {
int ID kaart ;
tekenreeks naam ;
lang rolnum ;
verkoold naam van de klasse ;
} dictaat ;
int voornaamst ( )
{
dicteergegevens ;
gegevens. ID kaart = twintig ;
gegevens. naam = 'Kalsom' ;
gegevens. rolnum = 123456789 ;
gegevens. naam van de klasse = 'D' ;
uit << 'Het id van de kandidaat is = ' << gegevens. ID kaart << eindl ;
uit << 'De naam van de kandidaat is = ' << gegevens. naam << eindl ;
uit << 'Het rollnum van de kandidaat is = ' << gegevens. rolnum << eindl ;
uit << 'De klassenaam van de kandidaat is = ' << gegevens. naam van de klasse << eindl ;
opbrengst 0 ;
}

Net als het vorige voorbeeld heeft dit programma ook het noodzakelijke headerbestand zoals “#include ” gestart en de naamruimte “std” gebruikt om de basisinvoer-/uitvoerbewerkingen uit te voeren. Daarna wordt een woordenboekstructuur gedefinieerd met vier leden: id, name, rollnum en classname. Het trefwoord “typedef” creëert een “dict”-alias voor deze structuur. Met deze alias kan naar de structuur eenvoudigweg worden verwezen als 'dict' in plaats van het struct-woordenboek.

Nu definiëren we in de hoofdfunctie eerst een exemplaar van het structuurwoordenboek met de naam 'dict' als een gegevens die fungeert als een alias van 'dict'. De waarden worden aan elk lid van de structuur toegewezen met behulp van de volgende instructies:

gegevens. ID kaart = twintig ;
gegevens. naam = 'Kalsom' ;
gegevens. rolnum = 123456789 ;
gegevens. naam van de klasse = 'D' ;

Zoals u kunt zien, zijn deze waarden van verschillende typen: int, string, long en char. Met behulp van de “cout”-instructie drukken we alle gedefinieerde waarden op de console af. Laten we de uitvoer van het programma bekijken in de volgende momentopname:

De uitvoerscreenshot toont duidelijk het gebruik van een “typedef” met de struct die meerdere gegevenstypen bevat om een ​​alias voor een structuur te creëren. Het biedt een beknoptere, leesbare en eenvoudigere manier om met de structuren in het volledige C++-programma te werken.

Conclusie

Om de “typedef” -structuur in C++ samen te vatten: “typedef” is een trefwoord dat in C++ wordt gebruikt om aliassen te maken van primitieve, ingebouwde of door de gebruiker gedefinieerde gegevenstypen. In combinatie met het trefwoord ‘struct’ is ‘typedef’ een krachtig hulpmiddel om de beknoptheid en duidelijkheid van de code te verbeteren. De “typedef”-definitie helpt meestal het aantal regels code en geheugengebieden te verkleinen. Te veel gebruik van “typedef” wordt echter in geen enkel programma, noch in korte, noch in lange, en ingewikkelde projecten aanbevolen, omdat dit voor dubbelzinnigheid kan zorgen. In dit artikel hebben we de structuur “typedef” onderzocht met behulp van eenvoudige voorbeelden om de werking, implementatie en gebruik van “typedef” in C++-programma’s te begrijpen.