>
Не всі типи даних підтримуються компіляторами за замовчуванням. Наприклад, компілятор BorlandPascal 7.0 MS-DOS вимагає підключення математичного співпроцесора для використання типу даних EXTENDED. Також є особливість з використанням типу CHAR-незважаючи на те, що він цілочисельний, його не можна використовувати в математичних виразах, так як він є суто контейнером для символів. Тип BOOLEANможет містити вирази зі TRUEі FALSE, відповідні логічним 0 і 1, але при цьому він займає повний байт. Тип STRINGведет себе як масив елементів типу CHAR, але при цьому довжина цього масиву зберігається в нульовому елементі; цим пояснюється обмеженість довжини 255 символами. Також у мові Паскаль є спеціальний тип покажчика POINTER, що характеризується відсутністю адреси змінної. p align="justify"> Типи даних Сі відрізняються структурованістю щодо типів в Паскалі: всі назви цілочисельних типів представляється як комбінація обмеженої кількості ключових слів, з якої можна відразу зробити висновок про характер зберігається типу. Наприклад, тип unsignedshortint позначає беззнакове коротке ціле число. Речових типів набагато менше, ніж у Паскалі (їх три), і для їх роботи не потрібно додаткових налаштувань компілятора. Типи даних Сі приведені в таблицях 1.2.4 і 1.2.5 [6]. br/>
Таблиця 1.2.4 - Цілі типи у Сі
ТіпДіапазонРазмер в байтах (signed) char-128 ... 1271unsigned char0 ... 2551 (signed) short (int) -32768 ... 327672unsigned short (int) 0 ... 655 352 (signed) long (int)? 2147483648 .. 21474836474unsigned long (int) 0 .. 42949672954 (signed) intЗавісіт від компілятора2/4unsigned (int) Залежить від компілятора2/4
Таблиця 1.2.5 - Речові типи у Сі
ТіпДіапазонРазмер в байтахFloat 4Double 8longdouble 10
У мові Сі відсутні спеціальні символьні типи; тип char може інтерпретуватися як математичне значення або символ, залежно від використання. Спеціального типу для рядків немає; рядки представляються у вигляді масивів елементів типу char, кінцем рядка вважається перший з початку рядка елемент, що містить нуль. Внаслідок цього в системі MS-DOS довжина рядків обмежена тільки розміром сегмента (64 Кбайт). Логічних типів у Сі також немає; замість цього реалізована система, в якій будь-яке ціле число може бути представлено у вигляді логічної константи: все, що не В«0В», еквівалентно істинному висловом, інакше помилкового. В результаті у Сі можливо використовувати математичні вирази в якості логічних і навпаки, що додає гнучкості мови. Типу аналогічного POINTERнет, натомість надана гнучка система покажчиків, що залежать від типу разименованного значення. Зате є тип void, який характеризує відсутність що повертається. br/>
.2.2 Користувальницькі типи
В обох мовах реалізована можливість створю...