Loading AI tools
З Вікіпедії, вільної енциклопедії
У мові програмування C поняття типів даних відносять до великої системи оголошення змінних різних типів. Сама мова надає базові арифметичні типи, а також синтаксис для створення масивів.
Головна мета будь-якої програми полягає в обробці даних. Дані різного типу зберігаються й обробляються по-різному. У будь-якій алгоритмічній мові кожна константа, змінна, результат обчислення виразу або функції повинні мати певний тип.
Тип даних визначає:
Виходячи з цих характеристик, програміст вибирає тип кожної величини, використовуваної в програмі для подання реальних об'єктів. Обов'язковий опис типу дозволяє компілятору проводити перевірку допустимості різних конструкцій програми. Від типу величини залежать машинні команди, які будуть використовуватися для обробки даних.
Всі типи мови C можна розділити на основні й складові. У мові C визначено шість основних типів даних для представлення цілих, дійсних, символьних і логічних величин. На основі цих типів програміст може вводити опис складових типів. До них належать масиви, перерахування, функції, структури, посилання, визначники, об'єднання і класи.
Основні типи даних часто називають арифметичними, тому що їх можна використовувати в арифметичних операціях. Для опису основних типів мови C використовують такі службові слова:
Кожна змінна має певний тип. І цей тип визначає, які значення може мати змінна, які операції з нею можна робити та скільки байт в пам'яті вона буде займати.
У мові C визначені такі базові типи даних:
Для представлення символів в додатку використовуються типи: char, wchar_t, char16_t і char32_t.
Цілочисельні типи представлені такими типами: short, unsigned short, int, unsigned int, long, unsigned long, long long і unsigned long long.
Типи чисел з рухомою комою та дробові числа представлені такими типами як float, double і long double.
Для уточнення внутрішнього подання та діапазону значень стандартних типів мова C використовує чотири специфікатори типу:
У таблиці для кожного типу вказано розмір, який він займає в пам'яті. Однак варто зазначити, що граничні розміри для типів розробники компіляторів можуть вибирати самостійно, виходячи з апаратних можливостей комп'ютера. Стандарт встановлює лише мінімальні значення, які повинні бути. Наприклад, для типів int і short мінімальне значення - 16 біт, для типу long - 32 біти. При цьому розмір типу long повинен бути не менше розміру типу int, а розмір типу int - не менший за розмір типу short, а розмір типу long double повинен бути більший за double. Навіть в рамках однієї платформи різні компілятори можуть по різному підходити до розмірів деяких типів даних. Але в цілому використовуються ті розміри, які вказані в таблиці, поданій нижче.
Тип | Розмір, байт | Значення |
bool | 1 | true або false |
unsigned short int | 2 | від 0 до 65 535 |
short int | 2 | від -32 768 до 32 767 |
unsigned long int | 4 | від 0 до 4 294 967 295 |
long int | 4 | від -2 147 483 648 до 2 147 483 647 |
int (16 розрядів) | 2 | від -32 768 до 32 767 |
int (32 розряди) | 4 | від -2 147 483 648 до 2 147 483 647 |
unsigned int (16 розрядів) | 2 | від 0 до 65 535 |
unsigned int (32 розряди) | 4 | від 0 до 4 294 967 295 |
char | 1 | від 0 до 255 |
float | 4 | від 1.2е-38 до 3.4е38 |
double | 8 | від 2.2е-308 до 1.8е308 |
long double | 10 | від 3.4е-4932 до 3.4е+4932 |
Іноді буває важко визначити тип виразу. І згідно з останніми стандартами можна надати компілятору самому виводити тип об'єкта. І для цього застосовується специфікатор auto. При цьому, якщо ми визначаємо змінну зі специфікатором auto, ця змінна повинна бути обов'язково ініціалізована будь-яким значенням.
Контроль типів має забезпечуватися розробником програми. Основною перевагою потоків C є автоматичний контроль типів.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.