а наліво (ім'я типу) Приведення тіпаУнарний14Справа наліво * /% Мультиплікативні операцііБінарний13Слева направо +-Аддитивні операцііБінарние12Слева вліво і вправоБінарний11Слева направо <> <=> = ОтношеніяБінарний10Слева направо ==! = Рівність/неравенствоБінарний9Слева направо & Побітове ІБінарний8Слева направо ^ Побітове виключає ІЛІБінарний7Слева направо | Побітове ІЛІБінарний6Слева направо && Логічне ІБінарний5Слева направо | | Логічне ІЛІБінарний4Слева направо? ; УсловіеТернарний3Справа наліво = + = - = * =/=% = <<=>> = & = ^ = | = ПрисваиваниеБинарный2Справа оценкаБінарний1Слева направо
Приведення типів у Сі відбувається автоматично в тих місцях, де це можливо без потенційних втрат. Так, наприклад, приведення типу char до типу float компілятор проведе сам, а зворотне перетворення доведеться робити явно. Також у Сі у порівнянні з Паскалем з'являється адресна арифметика - арифметичні операції допустимі для покажчиків, і в багатьох випадках відбувається неявне перетворення між цілочисельними типами і покажчиками. Однак ці перетворення спрацьовують не завжди. Наприклад, при привласненні вказівником целочисленной константи з метою встановити його в даний адресу компілятор повідомить про невідповідність типів. У таких випадках також необхідно явне приведення. br/>
.4 Покажчики та векторні типи даних
У розгляді типів і операцій необхідно окремо виділити векторні типи даних і покажчики. У попередньому розділі було вказано на наявність адресної арифметики в мові Сі; необхідно вказати, до яких вигодам це призвело при роботі з векторними типами даних. p align="justify"> Під векторним типом даних розуміється організація типу за принципом структури, в якій всі елементи одного і того ж типу. Це масиви і рядки. Під рядки в мові Паскаль виділений спеціальний тип, про який говорилося вище. Масиви в мові Паскаль існують як одномірні, так і багатовимірні. Для позначення компонент масиву використовується ім'я змінної-масиву і так звані індекси, які зазвичай вказують бажаний елемент. Тип індексу може бути тільки порядковим (крім LONGINT). Найчастіше використовується інтервальний тип (діапазон). Опис типу масиву задається наступним чином: TYPE імя_тіпа = ARRAY [список індексів] OF тип. Тут ім'я типу - допустимий ідентифікатор; список індексів - список одного або декількох індексних типів, розділених комами; тип - будь-який тип даних. Вводити і виводити масиви можна тільки поелементно, над масивами не визначені операції відносини. Порівнювати два масиви також можна тільки поелементно. Глибина вкладеності багатовимірних масивів довільна, тому кількість елементів у списку індексних типів (розмірність масиву) не обмежена, однак не може бути більш 65520 байт [11]. p align="justify"> Масиви у Сі в загальних рисах мають ті ж властивості, що й масиви в Паскалі. Так, багатовимірність їх також не обмежена, операції допустимі лише посимвольний. Але головна відмі...