c data types
Leer alles over Gegevenstypen in C ++ met voorbeelden.
In deze Voltooi C ++ Training Tutorials we zullen gegevenstypen in C ++ in deze tutorial bespreken.
We hebben al ID's gezien die worden gebruikt om verschillende entiteiten in C ++ op naam te identificeren. Afgezien van de ID's, weten we ook dat de variabele informatie of gegevens opslaat.
Om gegevens aan de variabele te koppelen, moeten we ook weten welke gegevens we precies zullen associëren, d.w.z. of variabelen alleen alfabetten of cijfers of beide opslaan. Met andere woorden, we moeten de gegevens of informatie beperken die in een variabele moeten worden opgeslagen.
Dit is precies waar het datatype in beeld komt. We kunnen zeggen dat gegevenstypen worden gebruikt om de variabele te vertellen welk type gegevens het moet opslaan. Op basis van het gegevenstype dat aan een variabele is toegewezen, wijst het besturingssysteem geheugen toe en besluit het welk type gegevens in de variabele moet worden opgeslagen.
Wat je leert:
Soorten gegevens
C ++ ondersteunt twee soorten gegevens die met zijn programma's kunnen worden gebruikt.
- Primitieve / standaard gegevenstypen
- Door de gebruiker gedefinieerde gegevenstypen.
Hieronder is de grafische weergave van de gegevenstypen in C ++.
Primitieve of standaard gegevenstypen
Primitieve gegevenstypen zijn de ingebouwde typen die C ++ - taal biedt. We kunnen ze direct gebruiken om entiteiten zoals variabelen, constanten, enz. Te declareren. Als alternatief kunnen we ze ook noemen als vooraf gedefinieerde datatypes of standaard datatypes.
Hieronder volgen de verschillende primitieve gegevenstypen die C ++ ondersteunt met de bijbehorende trefwoorden:
- Geheel getal => int
- Karakter => char
- Floating Point => zweven
- Double Floating Point => dubbel
- Boolean => bool
- Ongeldig of waardeloos type => ongeldig
- Breed karakter => wchar_t
Door de gebruiker gedefinieerde gegevenstypen
In C ++ kunnen we ook onze eigen gegevenstypen definiëren, zoals een klasse of een structuur. Dit worden door de gebruiker gedefinieerde typen genoemd.
Hieronder worden verschillende door de gebruiker gedefinieerde gegevenstypen in C ++ weergegeven:
- Typedef
- Opsomming
- Klasse of object
- Structuur
Van deze typen wordt het klasse-gegevenstype uitsluitend gebruikt bij objectgeoriënteerd programmeren in C ++.
Primitieve gegevenstypen
De volgende tabel toont alle primitieve gegevenstypen die door C ++ worden ondersteund, samen met de verschillende kenmerken ervan.
Data type | C ++ Sleutelwoord | Waarde type |
---|---|---|
Breed karakter | wchar_t | Teken inclusief Unicode-strings |
Karakter | char | Karakter (ASCII-waarden) |
Geheel getal | int | Numerieke gehele getallen |
Drijvend punt | vlotter | Decimale waarden met enkele precisie |
Decimale punt | dubbele | Drijvende-kommawaarden met dubbele precisie |
Boolean | bool | Waar of niet waar |
leegte | leegte | Waardeloos (geen waarde) |
Gegevenstypemodificatoren
Primitieve gegevenstypen die verschillende waarden opslaan, gebruiken entiteiten die gegevenstypemodificatoren worden genoemd om de lengte te wijzigen van de waarde die ze kunnen bevatten.
Dienovereenkomstig zijn de volgende soorten datamodificatoren aanwezig in C ++:
- Gesigneerd
- Ongetekend
- Kort
- Lang
Het bereik van de gegevens dat door elke modifier wordt weergegeven, is afhankelijk van de compiler die we gebruiken.
Het onderstaande programma produceert de verschillende grootten van verschillende datatypes.
Uitgang:
Primitieve datatypen maten:
korte int: 2 bytes
unsigned short int: 2 bytes
int: 4 bytes
unsigned int: 4 bytes
lange int: 8 bytes
unsigned long int: 8 bytes
long long int: 8 bytes
unsigned long long int: 8 bytes
char: 1 byte
ondertekend teken: 1 byte
unsigned char: 1 byte
zweven: 4 bytes
dubbel: 8 bytes
lang dubbel: 16 bytes
wchar_t: 4 bytes
Screenshot voor deze output wordt hieronder gegeven.
Zoals we zien, kunnen we met behulp van de grootte van de operator de maximale gegevensgrootte krijgen die elk gegevenstype ondersteunt.
Al deze gegevenstypen en hun bijbehorende grootten kunnen in tabelvorm worden weergegeven zoals hieronder.
Data type | Bit breedte | Bereik |
---|---|---|
korte int | 2 bytes | 32768 tot 32767 |
char | 1 byte | 127 tot 127 of 0 tot 255 |
Ongetekend char | 1 byte | 0 tot 255 |
ondertekende char | 1 byte | 127 tot 127 |
int | 4 bytes | 2147483648 tot 2147483647 |
unsigned int | 4 bytes | 0 tot 4294967295 |
ondertekend int | 4 bytes | 2147483648 tot 2147483647 |
ongetekende korte int | Bereik | 0 tot 65.535 |
ondertekende korte int | Bereik | 32768 tot 32767 |
lange int | 4 bytes | 2.147.483.647 tot 2.147.483.647 |
getekend lang int | 4 bytes | hetzelfde als lange int |
unsigned long int | 4 bytes | 0 tot 4.294.967.295 |
vlotter | 4 bytes | +/- 3,4e +/- 38 (~ 7 cijfers) |
dubbele | 8 bytes | +/- 1,7e +/- 308 (~ 15 cijfers) |
lang dubbel | 8 bytes | +/- 1,7e +/- 308 (~ 15 cijfers) |
wchar_t | 2 of 4 bytes | 1 breed karakter |
Dit gaat allemaal over primitieve gegevenstypen in C ++.
Door de gebruiker gedefinieerde gegevenstypen
Deze gegevenstypen, zoals de naam zelf suggereert, worden door de gebruiker zelf gedefinieerd. Omdat ze door de gebruiker zijn gedefinieerd, kunnen ze worden aangepast volgens de vereisten van het programma.
Typedef
Door de typedef-declaratie te gebruiken, creëren we een alias of een andere naam voor het datatype. Vervolgens kunnen we deze alias gebruiken om meer variabelen te declareren.
Beschouw bijvoorbeeld de volgende verklaring in C ++:
Met deze verklaring hebben we een alias age gemaakt voor het gegevenstype int.
Dus als we iets soortgelijks willen declareren, kunnen we de alias gebruiken in plaats van het standaard gegevenstype, zoals hieronder wordt weergegeven:
Merk op dat alias gewoon een andere naam is voor het standaard gegevenstype, het kan op een vergelijkbare manier worden gebruikt als de standaard gegevenstypen.
Opsomming
De opsomming in C ++ is een door de gebruiker gedefinieerd gegevenstype dat bestaat uit een set waarden met bijbehorende integrale constanten voor elke waarde.
We kunnen bijvoorbeeld de dagen van de week declareren als een opgesomd gegevenstype, zoals hieronder weergegeven:
Standaard beginnen integrale constanten voor elk van de opsommingswaarden met nul. Dus ‘zondag’ heeft de waarde 0, ‘maandag’ heeft 1 enzovoort.
We kunnen de standaardwaarden echter ook vanaf het begin of tussendoor als volgt wijzigen:
Hier heeft zondag de waarde 0, de maandag de waarde 1 en de dinsdag de waarde 5 die we hebben toegewezen. Na dinsdag hebben de resterende waarden 6, 7, enzovoort, in overeenstemming met de vorige waarde (in dit geval 5).
Laten we gebruik maken van deze enum die we eerder in het volgende programma hebben verklaard:
Uitgang:
Dit is dag 4 van de week
Screenshot voor hetzelfde wordt hieronder gegeven
Het bovenstaande programma spreekt voor zich. We hebben de enum gedefinieerd en vervolgens maken we de typevariabele om de dag van de week uit te voeren.
Klasse
In C ++ kunnen we nog een ander door de gebruiker gedefinieerd type definiëren met de naam 'Class'. Klasse is niets anders dan een verzameling objecten. Klasse fungeert als een blauwdruk voor een object en met behulp van de klassedefinitie kunnen we verschillende real-time problemen ontwerpen.
koppelingslijst in c ++
Beschouw bijvoorbeeld een klas met de naam 'Student' die als volgt wordt gedefinieerd:
Zodra we deze klasse hebben gedefinieerd, kunnen we de klassenaam gebruiken om variabelen van het type class te declareren. Deze variabelen van het type class zijn niets anders dan objecten.
Dus we verklaren een object van het type student als volgt:
Zoals hierboven getoond, hebben we ook toegang tot de leden van deze klas die openbaar zijn. We zullen de klassen en objecten in detail bekijken wanneer we objectgeoriënteerd programmeren in C ++ behandelen.
Structuur
Een structuur in C ++ is vergelijkbaar met die in C>. In feite wordt het concept van structuur in C ++ rechtstreeks overgenomen uit de C-taal. Als klasse is de structuur ook een verzameling variabelen van verschillende gegevenstypen. Maar klasse heeft zowel variabelen als methoden die werken op deze variabelen of leden zoals we ze noemen.
Structuren daarentegen hebben alleen variabelen als leden.
We kunnen een structuurpersoon als volgt definiëren met behulp van het struct-sleutelwoord:
Zodra de structuur is gedefinieerd, kunnen we een variabele van het type struct als volgt declareren:
Vervolgens hebben we toegang tot de leden van de structuur met behulp van de structuurvariabele en de operator voor ledentoegang (puntoperator).
Gevolgtrekking
We zullen meer leren over structuur en klasse en de verschillen daartussen zodra we beginnen met het objectgeoriënteerd programmeren in C ++.
In onze aanstaande tutorial zullen we C ++ -variabelen en de andere aspecten ervan onderzoeken.
Bekijk hier de diepgaande C ++ trainingshandleidingen
Aanbevolen literatuur
- Python-gegevenstypen
- Typen migratietests: met testscenario's voor elk type
- Data-abstractie in C ++
- Top 10 Data Science Tools in 2021 om programmeren te elimineren
- Parametrering van JMeter-gegevens met behulp van door de gebruiker gedefinieerde variabelen
- 10+ beste tools voor gegevensverzameling met strategieën voor het verzamelen van gegevens
- Objectgeoriënteerd programmeren in C ++
- 10+ beste tools voor gegevensbeheer om in 2021 aan uw gegevensbehoeften te voldoen