Sizeof

tharos

Operator sizeof zwraca nam rozmiar obiektu podany w wielokrotnościach rozmiaru typu char (<font color="blue">sizeof</span><font color="red">(</span><font color="blue">char</span><font color="red">)</span> <font color="red">==</span> <font color="green">1</span>). Przydatne np. podczas sprawdzania wielkości własnych obiektów (m.in. struktur), aby wiedzieć ile pamięci rezerwować.

int a;
printf("%d\n", sizeof(a));

Sizeof jest operatorem czasu kompilacji, co oznacza, że jego wywołanie zostanie zamienione przez kompilator na odpowiednią liczbę, przez co nie należy się obawiać, że skoro używamy sizeof to nasz program zdiała wolniej,

5 komentarzy

Powinno być jeszcze napisane o różnicy pomiędzy wywołaniem sizeof z dwoma nawiasami i jednym nawiasem.
sizeof((int)) i sizeof(int)

To sam mogłeś dodać, ale już to zrobiłem.

Wypadałoby dodać, że sizeof() jest operatorem czasu kompilacji.

To co pisze w arcie to gó... prawda. sizeof zwraca rozmiar w wielokrotnościach wielkości char, a że char ma najczęściej 1 bajt to inna sprawa...

sizeofy są (tak jakby) dwa: sizeof(typ) i sizeof(wyrażenie)