Typy danych
Typy podstawowe
W C++ możemy tworzyć własne typy danych lub korzystać z podstawowych. Tabelka przedstawia listę typów podstawowych:
| Typ | Rozmiar | Zakres | Uwagi | |
|---|---|---|---|---|
| signed | unsigned | |||
| bool | 1 bit | przyjmuje wartość true albo false | ||
| char | 1 bajt | -128 127 |
0 255 |
|
| wchar t | 2 bajty | 1 znak Unicode | reprezentuje znak Unicode | |
| int | 2 lub 4 bajty | zależnie od rozmiaru, taki jak: short lub long int | rozmiar zależy od kompilatora | |
| short int | 2 bajty | -32768 32767 |
0 65535 |
|
| long int | 4 bajty | -2147483648 2147483647 |
0 4294967295 |
|
| long long int | 8 bajtów | -9223372036854775808 9223372036854775807 |
0 18446744073709551615 |
|
| float | 4 bajty | 3.4e +/- 38 (7 znaków) | typ zmiennoprzecinkowy | |
| double | 8 bajtów | 1.7e +/- 308 (15 znaków) | typ zmiennoprzecinkowy | |
| long double | 8, 10 lub 12 bajtów | 1.7e +/- 308 (15 znaków) | typ zmiennoprzecinkowy | |
| void | reprezentuje brak typu | |||
Deklarowanie zmiennej danego typu wygląda tak:
[modyfikator] nazwa_typu nazwa_zmiennej;
Przykład:
Typy pochodne
Typy pochodne to typy o dodatkowych właściwościach, zazwyczaj bazujące na typach podstawowych.
Typ wyliczeniowy
Określa wartości jakie zmienne tego typu mogą przyjąć:
Więcej typów pochodnych: Tablice, Wskaźniki, Struktury, Unie, Pola bitowe
Modyfikatory
Zmienne typów podstawowych mogą posiadać tzw. modyfikator, czyli instrukcję która dokładniej opisuje kompilatorowi właściwości zmiennej.
signed i unsigned
Są to modyfikatory określające czy dana zmienna będzie mogła przechowywać liczby ujemne czy nie. Zazwyczaj kompilator domyślnie przypisuje modyfikator signed do nowo zadeklarowanej zmiennej.
unsigned int a = -123; // BŁĄD, użyto modyfikatora unsigned więc zmienna nie obsługuje liczb ujemnych
signed long b = -321; // prawidłowy zapis
signed long b = -321; // prawidłowy zapis
Więcej modyfikatorów: const, register, static, volatile, auto
Zobacz też:



Po 1. BOOL nie zajmie w praktyce nigdy jednego bita, gdyż najmniejszą jednostką alokacji pamięci jest jeden BAJT. Poprawcie mnie, jeśli się mylę.
Po 2. Znak w UTF może mieć nawet 4B. Więc co dokładnie przechowuje wchar?
niech ktoś to przeniesie we właściwe miejsce