logo search
Модуль 03 Віконні застосування / Лекційний матемріал / Частина 1

3.1. Змінні

Будь-яка програма працює з об'єктами, які називаються змінними (в даному випадку - це іменник). У програмуванні поняття змінної трактується дещо ширше чим в математиці. Визначимо це поняття так: змінна - цей деякий простір пам'яті, якому присвоєне ім'я і в яке можуть поміщатися певні дані. Кожного разу різні. У цьому сенсі простір увесь час може містити різні дані. Ім'я такого простору і називають змінною. Але дані бувають дуже різні. Наприклад, цілі числа, або дробові, або текст, або особова картка працівника, або цілий завод і т. д. І під кожне таке дане потрібно виділяти відповідну йому пам'ять. Як повинен поступати компілятор програми, якщо програма стане працювати з такими даними? Напевно, дані потрібно якось уміти розрізняти за їх типом. Наприклад, цілі числа відрізняються від нецілих чисел, особова картка працівника взагалі містить різнотипні дані (прізвище, професію, дані щодо зарплати, премій і т. д.). А про завод і говорити нічого. Тобто фактично дані відрізняються одне від іншого за своєю структурою. Тому для цілих чисел потрібно виділяти один обсяг пам'яті, для дробових - інший, для карточки - третій і т. д. Та і спосіб обробки цих різних структур абсолютно різний: для множення двох цілих чисел їх потрібно просто перемножити, а двох нецілих (а ще гірше: одне ціле, а інше дробове) вже просто перемножити не пройде: їх потрібно представити в спеціальному вигляді (мантиса і порядок), потім дещо зробити з цими частинами, потім ще дещо і т. д. Тому якщо кожен вигляд даного типізувати, т. т. визначити йому його тип, тоді вже можна, дивлячись на тип даного, знать, скільки йому потрібно виділити пам'яті, які операції можна проводити з даними цього типу, які результати і якого типу можуть бути отримані і т. д. Тоді при компіляції програми компілятор подивиться на тип даного і все розставить по своїх місцях. Наприклад, цілому числу виділить чотири байти пам'яті, дробовому - вісім, під рядок тексту - стільки-то. І якщо в програмі стануть порівнюватися два рядки, компілятор правильно побудує ділянку коду програми, виходячи з того, що порівнюються саме рядки даних. Коротше кажучи, щоб працювати з даними в програмі, потрібно задавати типи цих даних та імена цих даних. Тобто описувати, як то кажуть, ці дані в програмі. Або ще кажуть: оголошувати дані, що те ж саме.

У C# прийнято оголошувати дані, в загальному випадку так: "тип ім'я даного". Типи даних бувають різні: одні задані раз і назавжди в самій мові (базові типи), інші програміст сам задає (наприклад, структури, класи, об'єкти). Базовим типам зіставлені фіксовані ключові слова, небазові типи програміст сам іменує.