208
double |
Liczba zmiennoprzecinkowa podwójnej precyzji. Pocktbnie jak float nie łączy się z modyfikatorem signed ani unsigned | |
long double |
Największa możliwa dokładność liczb zmiennoprzecinkowych. Nie łączy się z modyfikatorem signed ani unsigned. | |
Typy danych według normy C99 | ||
_Bool |
Przechowuje wartości 0 lub 1 | |
long long |
Nowy typ, umożliwiający obliczeniach na Irnrdzo dużych liczliach całkowitych bez użycia typu float |
long long int. signed long long. signed long long int |
unsigned long long |
Długie liczby całkowite bez znaku |
unsigned long long int |
float _Complex |
Służy do przechowywania liczb zespolonych | |
double _Complex |
Służy <k) przechowywania liczb zes|M>k>nvch | |
long double _Complex |
Służy do przechowywania liczb zes|K>lonych | |
Typy danych definiowane przez użytkownika | ||
struct |
Więcej o kompilowaniu. | |
union |
Kozmiar typu jest tatki jak rozmiar największego l>ola | |
typedef |
Nowo zdefiniowany typ przyjmuje taki sam rozmiar. jak typ macierzysty | |
enum |
Zwykle elementy mają taką samą długość, jak typ int. |
Zależności rozmiaru typów danych są następujące:
• sizeof(cokolwiek) — sizeof(signed cokolwiek) — sizeoff unsigned cokolwiek):
• 1 = sizeof(char) $ sizeofishort) $ sizeof(int) $ sizeof(long) ^ si/.eof(long long):
• sizeof(float) $ sizeof( double) ^ si/.eof(long double):
• sizco{(cokolwiek _Complex) = 2 * sizeof'(cokolwiek)
• sizeof(void *) = sizeof(char *) ^ sizeof (cokolwiek *);
• sizeof(cokolwiek *) = sizeof(signed cokolwiek *) = sizeof(un.signed cokolwiek *);
• sizeof(cokolunek *) = sizeof(const cokolwiek *).
Dodatkowo, jeżeli przez V(typ) oznaczymy liczbę bitów wykorzystywanych w typie to zachodzi:
• 8 ^ V(char) = V(signed char) = V(unsigned char);
• 16 ^ Y(short) = Y(iinsigned short);
• 16 ^ V(lnt) = Y(unsigned int):
• 32 $ Y(long) - Y(unsigned long):
• 64 ^ Y(long long) — Y( unsigned long long):
• Y(char) $ Y(short) ^ Y(int) ^ V(long) $ Y(long long).