Сенс типу даних
int shop;
то це означає, що в ділянку пам'яті з ім'ям shop ви можете записувати лише цілі числа (ідентифікатор типу int на це і вказує). Якщо потім запишете у програмі:
то це означатиме, що в ділянці пам'яті під ім'ям shop тепер зберігається число 4. А от якщо ви запишете:
то комп'ютер вас "не зрозуміє" і видасть попередження про помилку зробленої вами в даному записі, так як комп'ютер знає, що в ділянці пам'яті з ім'ям shop числа з дрібною частиною зберігатися не можуть (зроблений раніше вами опис shop, як int чітко вказує комп'ютеру на це). А чому комп'ютеру треба заздалегідь "пояснювати" якого типу дані ми збираємося зберігати під тим чи іншим ім'ям? Справа в тому, що будь-які дані в комп'ютері зберігаються в закодованому вигляді - у вигляді набору нулів та одиниць. І кожен тип – цесвоє кодування. Тобто числа цілого типу кодуються ("зашифровуються") в набір нулів та одиниць за допомогою свого коду, числа з дробовою частиною кодуються нулями та одиницями по-іншому, у літер алфавіту свій код. І якщо комп'ютер отримав набір нулів і одиниць, то крім цього набору комп'ютера необхідна ще й інформація - як за необхідності все це розкодувати, якого типу дані в цих нулях і одиницях "зашифровані". Якщо комп'ютер знає, що, наприклад, під іменами shop зберігаються цілі числа, це означає, що комп'ютеру так само “зрозуміло”, що робити, якщо програміст віддасть йому наступну команду: