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

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

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

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...

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

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