Udostępnij za pośrednictwem


sizeof operatora (C)

sizeof Operator podaje ilość pamięci, w bajtach, wymaganych do przechowywania obiektu typu operandu.Ten operator pozwala uniknąć, określając rozmiary danych zależnych od komputera w programach.

sizeof unary-expression
sizeof ( type-name )

Uwagi

Argument jest albo identyfikator, który jest wyrażenie jednoargumentowe, lub wyrażenie typu rzutowania (to znaczy specyfikatora typu w nawiasach).Wyrażenie jednoargumentowe nie może reprezentować obiektu pole bitowe, niekompletnemu typowi lub w opisie funkcji.Wynik jest niepodpisany wartość stałej całkowitej.Standardowy nagłówek STDDEF.H definiuje tego typu jako size_t.

Po zastosowaniu sizeof operatora na identyfikator tablicy, wynik jest rozmiar całej tablicy, a nie rozmiar wskaźnika, reprezentowany przez identyfikator tablicy.

Po zastosowaniu sizeof operator struktury lub Unii wpisz nazwę lub identyfikator struktura lub typ Unii, wynikiem jest liczba bajtów w strukturze lub Unii, w tym dopełnienia wewnętrznego i na końcu.Rozmiar ten może obejmować dopełnienia wewnętrznego i na końcu, używane do wyrównywania członkowie struktury lub Unii w granicach pamięci.W ten sposób wynik może nie odpowiadają wielkości obliczona przez zsumowanie wymagania poszczególnych członków w zakresie magazynowania.

Jeśli tablica niesortowana według wielkości jest ostatni element struktury, sizeof operator zwraca rozmiar struktury bez tablicy.

buffer = calloc(100, sizeof (int) );

W tym przykładzie użyto sizeof operatora do przekazania rozmiar int, który zmienia się między maszyny, jako argument do funkcji run-time, o nazwie calloc.Wartość zwracana przez funkcję jest przechowywane w buffer.

static char *strings[] ={
          "this is string one",
          "this is string two",
          "this is string three",
         };
const int string_no = ( sizeof strings ) / ( sizeof strings[0] ); 

W tym przykładzie strings jest tablicą wskaźniki do char.Liczbę wskaźników jest liczba elementów w tablicy, ale nie został określony.Łatwo określić liczbę wskaźników za pomocą sizeof operatora, aby obliczyć liczbę elementów w tablicy.Const wartość całkowitą string_no jest inicjowany do tego numeru.Ponieważ jest const wartości, string_no nie może być modyfikowana.

Zobacz też

Informacje

Operatory języka C++