Programowanie w języku C/C++

Sizeof

  • 2008-11-14 11:44
  • 5 komentarzy
  • 15503 odsłony
  • Oceń ten tekst jako pierwszy
Operator sizeof zwraca nam rozmiar obiektu podany w wielokrotnościach rozmiaru typu char (sizeof(char) == 1). 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

traktor90 2012-04-05 16:50

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

manfredek 2008-11-14 11:45

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

Intelli 2008-11-13 16:06

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

manfredek 2008-05-20 16:16

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

marcinEc 2006-04-22 14:57

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