c data types
Lär dig allt om Datatyper i C ++ med exempel.
I denna Kompletta C ++ utbildningstutorialer , vi kommer att diskutera datatyper i C ++ i denna handledning.
Vi har redan sett identifierare som används för att identifiera olika enheter i C ++ med namn. Förutom identifierarna vet vi också att variabeln lagrar information eller data.
För att associera data med variabeln behöver vi också veta vilken data vi ska associera exakt, dvs om variabler endast lagrar alfabet eller siffror eller båda. Med andra ord måste vi begränsa data eller information som ska lagras i en variabel.
Det är precis där datatypen kommer in i bilden. Vi kan säga att datatyper används för att berätta variabeln vilken typ av data den ska lagra. Baserat på datatypen som tilldelats en variabel, tilldelar operativsystemet minne och bestämmer vilken typ av data som ska lagras i variabeln.
Vad du kommer att lära dig:
Typer av data
C ++ stöder två typer av data som ska användas med sina program.
- Primitiva / standarddatatyper
- Användardefinierade datatyper.
Nedan följer en bildrepresentation av datatyperna i C ++.
Primitiva eller standarddatatyper
Primitiva datatyper är de inbyggda typerna som C ++ -språket ger. Vi kan direkt använda dem för att deklarera enheter som variabler, konstanter etc. Alternativt kan vi också kalla dem som fördefinierade datatyper eller standarddatatyper.
Följande är de olika primitiva datatyper som C ++ stöder med deras motsvarande nyckelord:
- Heltal => int
- Character => char
- Flytpunkt => flyt
- Dubbel flytpunkt => dubbel
- Boolean => boolean
- Ogiltig eller värdelös typ => ogiltig
- Bred karaktär => wchar_t
Användardefinierade datatyper
I C ++ kan vi också definiera våra egna datatyper som en klass eller en struktur. Dessa kallas användardefinierade typer.
Olika användardefinierade datatyper i C ++ listas nedan:
- Typedef
- Uppräkning
- Klass eller objekt
- Strukturera
Av dessa typer används klassdatatypen exklusivt med objektorienterad programmering i C ++.
Primitiva datatyper
Följande tabell visar alla primitiva datatyper som stöds av C ++ tillsammans med dess olika egenskaper.
Data typ | C ++ nyckelord | Värde typ |
---|---|---|
Bred karaktär | wchar_t | Karaktär inklusive Unicode-strängar |
Karaktär | röding | Tecken (ASCII-värden) |
Heltal | int | Numeriska heltal |
Flytpunkt | flyta | Decimalvärden med enstaka precision |
Decimalpunkt | dubbel | Dubbel precision flytande punktvärden |
Boolean | bool | Sant eller falskt |
tomhet | tomhet | Värdelös (inget värde) |
Modifierare av datatyp
Primitiva datatyper som lagrar olika värden använder enheter som kallas datatypmodifierare för att ändra längden på det värde som de kan innehålla.
Följaktligen finns följande typer av datamodifierare i C ++:
- Signerad
- Osignerad
- Kort
- Lång
Utbudet av data som representeras av varje modifierare beror på kompilatorn som vi använder.
Programmet nedan producerar olika storlekar på olika datatyper.
#include using namespace std; int main() { cout<<'Primitive datatypes sizes: '< Produktion:
Primitiva datatypstorlekar:
kort int: 2 byte
osignerad kort int: 2 byte
int: 4 byte
osignerad int: 4 byte
lång int: 8 byte
osignerad lång int: 8 byte
lång lång int: 8 byte
osignerad lång lång int: 8 byte
röding: 1 byte
signerad röding: 1 byte
osignerad röding: 1 byte
float: 4 byte
dubbel: 8 byte
lång dubbel: 16 byte
wchar_t: 4 byte
Skärmdump för denna utdata ges nedan.

Som vi ser, med hjälp av operatörens storlek, kan vi få den maximala storleken på data som varje datatyp stöder.
Alla dessa datatyper och deras motsvarande storlekar kan tabelliseras enligt nedan.
Data typ Bitbredd Räckvidd kort int 2 byte 32768 till 32767 röding 1 byte 127 till 127 eller 0 till 255 osignerad röding 1 byte 0 till 255 signerad röding 1 byte 127 till 127 int 4 bytes 2147483648 till 2147483647 osignerad int 4 bytes 0 till 4294967295 signerad int 4 bytes 2147483648 till 2147483647 osignerad kort int Räckvidd 0 till 65 535 signerad kort int Räckvidd 32768 till 32767 lång int 4 bytes 2 147 473 647 till 2 147 483 647 signerad lång int 4 bytes samma som lång int osignerad lång int 4 bytes 0 till 4 294 967 295 flyta 4 bytes +/- 3.4e +/- 38 (~ 7 siffror) dubbel 8 byte +/- 1.7e +/- 308 (~ 15 siffror) lång dubbel 8 byte +/- 1.7e +/- 308 (~ 15 siffror) wchar_t 2 eller 4 byte 1 bred karaktär
Det här handlar om primitiva datatyper i C ++. Användardefinierade datatyper
Dessa datatyper som själva namnet antyder definieras av användaren själv. Eftersom de är användardefinierade kan de anpassas enligt programmets krav.
Typedef
Genom att använda typedef-deklarationen skapar vi ett alias eller ett annat namn för datatypen. Då kan vi använda detta alias för att deklarera fler variabler.
Tänk till exempel på följande deklaration i C ++:
typedef int age;
Genom denna deklaration har vi skapat en aliasålder för datatypen int.
Därför, om vi vill förklara något liknande, kan vi använda alias istället för standarddatatypen som visas nedan:
age num_of_years;
Observera att alias bara är ett annat namn för standarddatatypen, det kan användas på liknande sätt som standarddatatyperna.
Uppräkning
Uppräkningen i C ++ är en användardefinierad datatyp som består av en uppsättning värden med motsvarande integralkonstanter för varje värde.
Till exempel kan vi deklarera veckodagarna som en uppräknad datatyp som visas nedan:
enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
Som standard börjar integralkonstanter för vart och ett av enumvärdet med noll. Så 'söndag' har värde 0, 'måndag' har 1 och så vidare.
Vi kan dock också ändra standardvärdena från början av mellanrum på följande sätt:
enum daysOfWeek {Sunday, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday};
Här kommer söndagen att ha värdet 0, måndagen har värdet 1 och tisdagen har värdet 5 som vi har tilldelat. Efter tisdag kommer återstående värden att ha 6, 7 och så vidare i fortsättning med föregående värde (i det här fallet 5).
Låt oss använda detta enum som vi förklarade tidigare i följande 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:
Det här är dag 4 i veckan
Skärmdump för detsamma ges nedan

Ovanstående program är självförklarande. Vi har definierat enum och sedan skapar vi dess typvariabel för att mata ut veckodagen.
Klass
I C ++ kan vi definiera ännu en användardefinierad typ som heter 'Klass'. Klass är inget annat än en samling objekt. Klass fungerar som en ritning för ett objekt och med hjälp av klassdefinitionen kan vi utforma olika problem i realtid.
c ++ paus i 1 sekund
Tänk till exempel på en klass med namnet 'Student' som kommer att definieras enligt följande:
class student{ char* name; int age; public: void printDetails() { cout<<”Name: “<När vi har definierat den här klassen kan vi använda klassnamnet för att deklarera variabler av typklassen. Dessa variabler av typklass är inget annat än objekt.
Så vi förklarar ett objekt av typstudenten enligt följande:
student s1; s1.printDetails();
Som visas ovan kan vi också få tillgång till medlemmarna i denna klass som är offentliga. Vi kommer att se klasserna och objekten i detalj när vi täcker objektorienterad programmering i C ++.
Strukturera
En struktur i C ++ liknar den i C>. Faktum är att begreppet struktur i C ++ plockas direkt från C-språket. Som klass är strukturen också en samling variabler av olika datatyper. Men klassen har både variabler och metoder som fungerar på dessa variabler eller medlemmar som vi kallar dem.
Strukturer har å andra sidan endast variabler som sina medlemmar.
Vi kan definiera en strukturperson på följande sätt med hjälp av struktordnyckelordet:
struct employee{ Char name(50); Float salary; Int empId; };
När strukturen väl har definierats kan vi deklarera en variabel av typ struct enligt följande:
Employee emp;
Sedan kan vi komma åt medlemmarna i strukturen med hjälp av strukturvariabeln och medlemsåtkomstoperatören (dot Operator).
Slutsats
Vi lär oss mer om struktur och klass och skillnaderna mellan dem när vi börjar med den objektorienterade programmeringen i C ++.
I vår kommande handledning kommer vi att utforska C ++ - variabler och dess andra aspekter.
=> Kontrollera de fördjupade C ++ -utbildningsövningarna här
Rekommenderad läsning
- Python-datatyper
- Typer av migreringstest: Med testscenarier för varje typ
- Dataabstraktion i C ++
- Topp 10 Data Science-verktyg 2021 för att eliminera programmering
- JMeter-dataparameterisering med användardefinierade variabler
- 10+ bästa datainsamlingsverktyg med strategier för datainsamling
- Objektorienterad programmering i C ++
- 10+ bästa datastyrningsverktyg för att uppfylla dina behov av data 2021