Типи даних. Перетворення типів

Типи даних прийнято розділяти на простих і складних залежно від того, як влаштовані їх дані. У простих (скалярних) типів можливі значення даних єдині і неподільні. Складні типи характеризуються способом структуризації даних — одне значення складного типу складається з безлічі значень даних, організуючих складний тип.

Типи даних розділяються також на статичних і динамічних. Для даних статичного типу пам'ять відводиться у момент оголошення, необхідний розмір даних (пам'яті) відомий при їх оголошенні. Для даних динамічного типу розмір даних у момент оголошення зазвичай невідомий і пам'ять їм виділяється динамічно за запитом в процесі виконання програми.

Ще одна важлива класифікація типів — це їх ділення на значущих і посилальних. Для значущих типів значення змінної (об'єкту) є невід'ємною власністю змінної (точніше, власністю є пам'ять, що відводиться значенню, а само значення може змінюватися). Для посилальних типів значенням служить посилання на деякий об'єкт в пам'яті, розташований зазвичай в динамічній пам'яті, - " купі ". Об'єкт, на який указує посилання, може бути таким, що розділяється. Це означає, що декілька посилальних змінних можуть указувати на один і той же об'єкт і розділяти його значення. Значущий тип прийнято називати розгорненим, підкреслюючи тим самим, що значення об'єкту розгорнене безпосередньо в пам'яті, що відводиться об'єкту.

Для більшості процедурних мов, реально використовуваних програмістами, - Паскаль, C++, Java, Visual Basic, C#, — система вбудованих типів більш менш однакова. Завжди в мові присутній арифметичний, логічний (булевий), символьний типи. Арифметичний тип завжди розбивається на підтипи. Завжди допускається організація даних у вигляді масивів і записів (структур). Усередині арифметичного типу завжди допускаються перетворення, завжди є функції, що перетворюють рядок в число і назад.

Оскільки мова C# є безпосереднім нащадком мови C++, то і системи типів цих двох мов близькі і співпадають аж до назв типів і областей їх визначення. Але відмінності, зокрема принципового характеру, є і тут.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: