Deo zbornika Uvod u programiranje kroz C
sizeof operator
sizeof operator vraća veličinu svog operanda u bajtovima. U C-u se jedan bajt definira kao broj bitova potreban za pamćenje podatka tipa char. To je na većini računala osam bitova (jedan oktet).
Prosti podaci
Operand može biti izraz ili tip podatka. Na primjer, kod
#include <stdio.h>
int main()
{
int i;
float x;
printf("Velicina tipa int = %d\n", sizeof(i));
printf("Velicina tipa float = %d\n", sizeof(x));
return 0;
}
bi na nekim sustavima ispisao
Velicina tipa int = 4
Velicina tipa float = 4
Isti efekt postižemo ako sizeof primijenimo na tip podatka:
#include <stdio.h>
int main()
{
printf("Velicina tipa int = %d\n", sizeof(int));
printf("Velicina tipa float = %d\n", sizeof(float));
return 0;
}
Složeni podaci
Kod složenijih podataka dobivamo ukupan broj okteta koji podatak zauzima. Na primjer
#include <stdio.h>
int main()
{
char tekst[]="Dalmacija";
printf("Broj znakova u varijabli tekst =%d\n", sizeof(tekst));
return 0;
}
daje
Broj znakova u varijabli tekst =10
Operator sizeof vraća cjelobrojnu vrijednost bez predznaka koja ovisi o implementaciji. Taj je tip definiran u datoteci zaglavlja <stddef.h> i zove se size_t.
Primer: veličina tipova podataka
Naredni primer je u C++:
#include <iostream>
using namespace std;
int main()
{
cout << "char: " << sizeof(char) << " byte" << endl;
cout << "int: " << sizeof(int) << " bytes" << endl;
cout << "float: " << sizeof(float) << " bytes" << endl;
cout << "double: " << sizeof(double) << " bytes" << endl;
return 0;
}
Izvor: M. Jurak, Programski jezik C, predavanja 2003/04.