c data types
Lær alt om Datatyper i C ++ med eksempler.
I denne Gennemfør C ++ træningsvejledninger , vi vil diskutere datatyper i C ++ i denne vejledning.
Vi har allerede set identifikatorer, der bruges til at identificere forskellige enheder i C ++ ved navn. Bortset fra identifikatorerne ved vi også, at variablen opbevarer oplysninger eller data.
For at forbinde data med variablen skal vi også vide, hvilke data vi vil forbinde nøjagtigt, dvs. om variabler kun gemmer alfabeter eller tal eller begge dele. Med andre ord er vi nødt til at begrænse de data eller oplysninger, der skal lagres i en variabel.
Dette er præcis, hvor datatypen kommer ind i billedet. Vi kan sige, at datatyper bruges til at fortælle variablen, hvilken type data den skal gemme. Baseret på den datatype, der er tildelt en variabel, tildeler operativsystemet hukommelse og beslutter, hvilken type data der skal lagres i variablen.
Hvad du lærer:
Typer af data
C ++ understøtter to typer data, der skal bruges med dets programmer.
- Primitive / Standard datatyper
- Brugerdefinerede datatyper.
Nedenfor er den billedlige gengivelse af datatyperne i C ++.
Primitive eller standard datatyper
Primitive datatyper er de indbyggede typer, som C ++ sprog giver. Vi kan bruge dem direkte til at erklære enheder som variabler, konstanter osv. Alternativt kan vi også kalde dem som foruddefinerede datatyper eller standarddatatyper.
Følgende er de forskellige primitive datatyper, som C ++ understøtter med deres tilsvarende nøgleord:
- Heltal => int
- Tegn => char
- Flydende punkt => flyde
- Dobbelt flydende punkt => dobbelt
- Boolsk => boolsk
- Ugyldig eller værdiløs type => ugyldig
- Bred karakter => wchar_t
Brugerdefinerede datatyper
I C ++ kan vi også definere vores egne datatyper som en klasse eller en struktur. Disse kaldes brugerdefinerede typer.
Forskellige brugerdefinerede datatyper i C ++ er angivet nedenfor:
- Typedef
- Optælling
- Klasse eller objekt
- Struktur
Ud af disse typer bruges klassedatatypen udelukkende med objektorienteret programmering i C ++.
Primitive datatyper
Den følgende tabel viser alle de primitive datatyper, der understøttes af C ++ sammen med dens forskellige egenskaber.
Datatype | C ++ nøgleord | Værditype |
---|---|---|
Bred karakter | wchar_t | Tegn inklusive Unicode-strenge |
Karakter | char | Tegn (ASCII-værdier) |
Heltal | int | Numeriske heltal |
Flydende punkt | flyde | Decimalværdier med en enkelt præcision |
Decimaltegnet | dobbelt | Dobbelt præcision flydende punkt værdier |
Boolsk | bool | Sandt eller falsk |
ugyldig | ugyldig | Værdiløs (ingen værdi) |
Datatypemodifikatorer
Primitive datatyper, der gemmer forskellige værdier, bruger enheder kaldet datatypemodifikatorer til at ændre længden af den værdi, de kan holde.
Følgelig er følgende typer datamodifikatorer til stede i C ++:
- Underskrevet
- Usigneret
- Kort
- Lang
Omfanget af data, der er repræsenteret af hver modifikator, afhænger af den kompilator, vi bruger.
Programmet nedenfor producerer de forskellige størrelser af forskellige datatyper.
#include using namespace std; int main() { cout<<'Primitive datatypes sizes: '< Produktion:
Primitive datatypestørrelser:
kort int: 2 byte
usigneret kort int: 2 byte
int: 4 bytes
usigneret int: 4 byte
lang int: 8 byte
usigneret lang int: 8 byte
lang lang int: 8 byte
usigneret lang lang int: 8 byte
char: 1 byte
underskrevet char: 1 byte
usigneret char: 1 byte
float: 4 bytes
dobbelt: 8 byte
lang dobbelt: 16 byte
wchar_t: 4 byte
Skærmbillede af dette output er angivet nedenfor.

Som vi ser, ved hjælp af operatørens størrelse, kan vi få den maksimale datastørrelse, som hver datatype understøtter.
Alle disse datatyper og deres tilsvarende størrelser kan tabelformeres som nedenfor.
Datatype Bitbredde Rækkevidde kort int 2 byte 32768 til 32767 char 1 byte 127 til 127 eller 0 til 255 usigneret char 1 byte 0 til 255 underskrevet char 1 byte 127 til 127 int 4 byte 2147483648 til 2147483647 usigneret int 4 byte 0 til 4294967295 underskrevet int 4 byte 2147483648 til 2147483647 usigneret kort int Rækkevidde 0 til 65.535 underskrevet kort int Rækkevidde 32768 til 32767 lang int 4 byte 2.147.483.647 til 2.147.483.647 underskrevet lang int 4 byte samme som lang int usigneret lang int 4 byte 0 til 4.294.967.295 flyde 4 byte +/- 3.4e +/- 38 (~ 7 cifre) dobbelt 8 byte +/- 1.7e +/- 308 (~ 15 cifre) lang dobbelt 8 byte +/- 1.7e +/- 308 (~ 15 cifre) wchar_t 2 eller 4 byte 1 bred karakter
Dette handler om primitive datatyper i C ++. Brugerdefinerede datatyper
Disse datatyper, som navnet selv antyder, defineres af brugeren selv. Da de er brugerdefinerede, kan de tilpasses i henhold til programmets krav.
Typedef
Ved at bruge typedef-erklæringen opretter vi et alias eller et andet navn til datatypen. Så kan vi bruge dette alias til at erklære flere variabler.
Overvej f.eks. Følgende erklæring i C ++:
typedef int age;
Gennem denne erklæring har vi oprettet en aliasalder for int-datatypen.
Derfor, hvis vi vil erklære noget lignende, kan vi bruge aliaset i stedet for standarddatatypen som vist nedenfor:
age num_of_years;
Bemærk, at alias bare er et andet navn til standarddatatypen, det kan bruges på en lignende måde som standarddatatyperne.
Optælling
Tællingen i C ++ er en brugerdefineret datatype, der består af et sæt værdier med tilsvarende integralkonstanter for hver værdi.
For eksempel kan vi erklære ugedagene som en opregnet datatype som vist nedenfor:
enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
Som standard starter integrerede konstanter for hver af enumværdien med nul. Så 'søndag' har værdi 0, 'mandag' har 1 og så videre.
Vi kan dog også ændre standardværdierne fra starten af imellem som følger:
enum daysOfWeek {Sunday, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday};
Her vil søndag have værdi 0, mandag have værdi 1 og tirsdag have værdi 5, som vi har tildelt. Efter tirsdag har de resterende værdier 6, 7 osv. I forlængelse af den tidligere værdi (i dette tilfælde 5).
Lad os gøre brug af dette enum, som vi tidligere erklærede i følgende program:
#include using namespace std; enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; int main() { daysOfWeek today; today = Thursday; cout<<'This is day '< Produktion:
Dette er dag 4 i ugen
Skærmbillede af det samme er angivet nedenfor

Ovenstående program er selvforklarende. Vi har defineret enummet, og derefter opretter vi dets type variabel til output af ugedagen.
Klasse
I C ++ kan vi definere endnu en brugerdefineret type med navnet 'Klasse'. Klassen er intet andet end en samling objekter. Klassen fungerer som en plan for et objekt, og ved hjælp af klassedefinitionen kan vi designe forskellige realtidsproblemer.
hvad er min netværkssikkerhedsnøgle til verizon hotspot
Overvej f.eks. En klasse med navnet 'Student', der defineres som følger:
class student{ char* name; int age; public: void printDetails() { cout<<”Name: “<Når vi har defineret denne klasse, kan vi bruge klassens navn til at erklære variabler af typen klasse. Disse variabler af typen klasse er intet andet end objekter.
Så vi erklærer et objekt af typen studerende som følger:
student s1; s1.printDetails();
Som vist ovenfor kan vi også få adgang til medlemmerne af denne klasse, som er offentlige. Vi vil se klasser og objekter i detaljer, når vi dækker objektorienteret programmering i C ++.
Struktur
En struktur i C ++ svarer til den i C>. Faktisk hentes begrebet struktur i C ++ direkte fra C-sprog. Som klasse er strukturen også en samling af variabler af forskellige datatyper. Men klassen har både variabler og metoder, der fungerer på disse variabler eller medlemmer, som vi kalder dem.
Strukturer har derimod kun variabler som dets medlemmer.
Vi kan definere en strukturperson som følger ved hjælp af struct-nøgleordet:
struct employee{ Char name(50); Float salary; Int empId; };
Når strukturen er defineret, kan vi erklære en variabel af typen struct som følger:
Employee emp;
Derefter kan vi få adgang til medlemmerne af strukturen ved hjælp af strukturvariablen og medlemsadgangsoperatøren (dot Operator).
Konklusion
Vi lærer mere om struktur og klasse og forskellene mellem dem, når vi først starter med den objektorienterede programmering i C ++.
I vores kommende vejledning vil vi udforske C ++ -variabler og dens andre aspekter.
=> Tjek dybdegående C ++ træningsvejledninger her
Anbefalet læsning
- Python-datatyper
- Typer af migreringstest: Med testscenarier for hver type
- Data abstraktion i C ++
- Top 10 datavidenskabsværktøjer i 2021 til at fjerne programmering
- JMeter-dataparameterisering ved hjælp af brugerdefinerede variabler
- 10+ bedste dataindsamlingsværktøjer med strategier til dataindsamling
- Objektorienteret programmering i C ++
- 10+ bedste datastyringsværktøjer til at opfylde dine databehov i 2021