I C-programmering är datatyper deklarationer för variabler. Detta bestämmer typen och storleken på data som är associerade med variabler. Till exempel,
int myVar;
Här är myVar en variabel av int
(heltal) typ. Storleken på int
är 4 bytes.
Grundläggande typer
Här finns en tabell som innehåller vanligt förekommande typer i C-programmering för snabb åtkomst.
Typ | Storlek (bytes) | Formatspecifikation |
---|---|---|
int |
minst 2, vanligtvis 4 | %d , %i |
char |
1 | %c |
float |
4 | %f |
double |
8 | %lf |
short int |
2 vanligtvis | %hd |
unsigned int |
minst 2, vanligtvis 4 | %u |
long int |
minst 4, vanligtvis 8 | %ld , %li |
long long int |
minst 8 | %lld , %lli |
unsigned long int |
minst 4 | %lu |
unsigned long long int |
minst 8 | %llu |
signed char |
1 | %c |
unsigned char |
1 | %c |
long double |
minst 10, vanligtvis 12 eller 16 | %Lf |
int
Integer är hela tal som kan ha både noll, positiva och negativa värden men inga decimalvärden. Till exempel 0
, -5
, 10
Vi kan använda int
för att deklarera en heltalsvariabel.
int id;
Här är id en variabel av typen heltal.
Du kan deklarera flera variabler samtidigt i C-programmering. Till exempel,
int id, age;
Storleken på int
är vanligtvis 4 bytes (32 bitar). Och den kan ta 232
olika tillstånd från -2147483648
till 2147483647
.
float och double
float
och double
används för att hålla reella tal.
float salary;double price;
I C kan flyttalstalen också representeras exponentiellt. Till exempel,
float normalizationFactor = 22.442e2;
Vad är skillnaden mellan float
och double
?
Storleken på float
(datatyp float med enkel precision) är 4 byte. Och storleken på double
(datatyp float med dubbel precision) är 8 byte.
char
Nyckelordet char
används för att deklarera variabler av teckentyp. Exempelvis
char test = 'h';
storleken på teckenvariabeln är 1 byte.
void
void
är en ofullständig typ. Den betyder ”ingenting” eller ”ingen typ”. Du kan tänka på void som frånvarande.
Till exempel, om en funktion inte returnerar något bör dess returtyp vara void
.
Observera att du inte kan skapa variabler av typen void
.
short och long
Om du behöver använda ett stort tal kan du använda en typspecificering long
. Så här gör du:
long a;long long b;long double c;
Här kan variablerna a och b lagra heltalsvärden. Och c kan lagra ett flyttal.
Om du är säker på att endast ett litet heltal ( intervall) kommer att användas kan du använda
short
.
short d;
Du kan alltid kontrollera storleken på en variabel med hjälp av sizeof()
-operatorn.
#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0;}
signerad och osignerad
I C är signed
och unsigned
typmodifierare. Du kan ändra datalagringen av en datatyp genom att använda dem. Till exempel,
unsigned int x;int y;
Här kan variabeln x endast innehålla noll och positiva värden eftersom vi har använt modifieraren unsigned
.
Med tanke på att storleken på int
är 4 bytes kan variabeln y innehålla värden från -231
till 231-1
, medan variabeln x kan innehålla värden från 0
till 232-1
.
Andra datatyper som definieras i C-programmering är:
- bool Typ
- Enumererad typ
- Komplexa typer
Avledda datatyper
Datatyper som är härledda från grundläggande datatyper är härledda typer. Till exempel: matriser, pekare, funktionstyper, strukturer etc.
Vi kommer att lära oss mer om dessa härledda datatyper i senare handledningar.