C-ohjelmoinnissa tietotyypit ovat muuttujien ilmoituksia. Näin määritetään muuttujiin liittyvän datan tyyppi ja koko. Esimerkiksi
int myVar;
Tässä myVar on muuttuja, jonka tyyppi on int
(kokonaisluku). int
:n koko on 4 tavua.
Basic types
Tässä on taulukko, joka sisältää C-ohjelmoinnissa yleisesti käytetyt tyypit nopeaa käyttöä varten.
Tyyppi | Koko (tavua) | Muotoilun täsmentäjä | |
---|---|---|---|
int |
vähintään 2, yleensä 4 | %d , %i |
|
char |
1 | %c |
|
float |
4 | %f |
|
double |
8 | %lf |
|
short int |
2 yleensä | %hd |
|
unsigned int |
vähintään 2, yleensä 4 | %u |
|
long int |
vähintään 4, yleensä 8 | %ld , %li |
|
long long int |
vähintään 8 | %lld , %lli |
|
unsigned long int |
vähintään 4 | %lu |
|
unsigned long long int |
vähintään 8 | %llu |
|
signed char |
1 | %c |
|
unsigned char |
1 | %c |
|
long double |
mintään 10, yleensä 12 tai 16 | %Lf |
int
Integerit ovat kokonaislukuja, joilla voi olla sekä nolla, positiivinen että negatiivinen arvo, mutta ei desimaaliarvoa. Esimerkiksi 0
, -5
, 10
Voidaan käyttää int
kokonaislukumuuttujan ilmoittamiseen.
int id;
Tässä id on muuttuja, jonka tyyppi on kokonaisluku.
C-ohjelmoinnissa voi ilmoittaa useita muuttujia kerralla. Esimerkiksi
int id, age;
Muuttujan int
koko on yleensä 4 tavua (32 bittiä). Ja se voi ottaa 232
eri tiloja -2147483648
ja 2147483647
välillä.
float ja double
float
ja double
käytetään reaalilukujen säilyttämiseen.
float salary;double price;
C:ssä liukuluvut voidaan esittää myös eksponentiaalisesti. Esimerkiksi,
float normalizationFactor = 22.442e2;
Mitä eroa on float
:n ja double
:n välillä?
float
:n (yksitarkkuuden liukulukujen tietotyyppi) koko on 4 tavua. Ja double
:n (kaksoistarkkuuden float-tietotyyppi) koko on 8 tavua.
char
Sanaa char
käytetään merkkityyppisten muuttujien ilmoittamiseen. Esimerkiksi
char test = 'h';
Merkkimuuttujan koko on 1 tavu.
void
void
on epätäydellinen tyyppi. Se tarkoittaa ”ei mitään” tai ”ei tyyppiä”. Voit ajatella voidia poissaolona.
Jos esimerkiksi funktio ei palauta mitään, sen paluutyypin pitäisi olla void
.
Huomaa, että et voi luoda muuttujia, joiden tyyppi on void
.
short ja long
Jos haluat käyttää isoa lukua, voit käyttää tyypinmäärittelyä long
. Näin:
long a;long long b;long double c;
Tässä muuttujat a ja b voivat tallentaa kokonaislukuarvoja. Ja c voi tallentaa liukuluvun.
Jos olet varma, että käytetään vain pientä kokonaislukua (-alue), voit käyttää
short
.
short d;
Muuttujan koon voi aina tarkistaa sizeof()
-operaattorilla.
#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;}
esimerkitty ja esimerkitsemätön
C:ssä signed
ja unsigned
ovat tyypinmuodostajia. Niiden avulla voit muuttaa tietotyypin tietovarastoa. Esimerkiksi,
unsigned int x;int y;
Tässä tapauksessa muuttuja x voi tallentaa vain nolla- ja positiivisia arvoja, koska olemme käyttäneet unsigned
-modifioijaa.
Kun otetaan huomioon, että int
:n koko on 4 tavua, muuttuja y voi tallentaa arvoja -231
ja 231-1
välillä, kun taas muuttuja x voi tallentaa arvoja 0
ja 232-1
välillä.
Muut C-ohjelmoinnissa määritellyt tietotyypit ovat:
- bool-tyyppi
- Enumeroituja tyyppejä
- Kompleksisia tyyppejä
Johdetut tietotyypit
Tietotyypit, jotka on johdettu perustietotyypeistä, ovat johdettuja tyyppejä. Esimerkiksi: matriisit, osoittimet, funktiotyypit, rakenteet jne.
Tutustumme näihin johdettuihin tietotyyppeihin myöhemmissä opetusohjelmissa.