| Типи даних
Тип даних визначається як множина значень і множина операцій, допустимих над цими значеннями.
Основним принципом типізації, який прийнятий в мовах програмування є те, що будь-яка костанта, змінна, вираз і функція відносяться до деякого типу, що характеризується множиною значень, до якої відносяться константи, значення яких можуть набувати змінні і вирази і значення яких можуть формувати функції. Усі дані, які беруть участь у розв"язуванні задачі, ретельно класифікуються за типами. Тип визначає:
- допустимі значення даного,
- операції, які можна над ним виконувати,
- обсяг оперативної пам"яті, який резервується для нього.
Визначити, який обсяг пам"яті компілятор надає даному того чи іншого типу, можна за допомогою команди sizeof(<назва типу>). Існують такі категорії типів: - Вбудовані типи даних (базові типи), тобто типи, що наперед визначені в мові програмування.
- Конструюючі типи (або складні) мають ту особливість, що в мові визначені засоби специфікацій таких типів і деякий набір операцій, які дають можливість доступу до компонентів складних значень.
- Вказівні типи дають можливість роботи з типованими множинами абстрактних адресів змінних, що містять значення деякого типу. В мовах с більш слабкою типизацією (наприклад, С і С++) допускаються практично необмежені маніпуляції з вказівниками.
Вбудовані типи даних:
Назва типу | Байт | Інша назва | Діапазон значень | bool | 1 | немає | false або true | char | 1 | signed char, __int8 | -128 до 127 | unsigned char | 1 | unsingned __int8 | 0 до 255 | short | 2 | short int, signed short, signed short int, __int16, signed __int16 | –32768 до 32767 | unsigned short | 2 | unsigned short int, unsigned __int16 | 0 до 65535 | int | 4 | signed, signed int, __int32, signed __int32 | –2147483648 до 2147483647 | unsigned int | 4 | unsigned, unsigned __int32 | 0 до 4294967295 | long | 4 | signed long, __int32, signed __int32 | –2147483648 до 2147483647 | unsigned long | 4 | unsigned __int32 | 0 до 4294967295 | long long | 8 | signed long long, __int64, signed __int64 | –9223372036854775808 до 9223372036854775807 | unsigned long long | 8 | unsigned __int64 | 0 до 18446744073709551615 | float | 4 | немає | 3.4E +/- 38 (7 цифр) | double | 8 | немає | 1.7E +/- 308 (15 цифр) | long double | 8 | немає | 1.7E +/- 308 (15 цифр) | wchar_t | 2 | __wchar_t | 0 до 65535 |
| |