Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / 2_Посібник_С_002.doc
Скачиваний:
39
Добавлен:
17.05.2015
Размер:
2.7 Mб
Скачать

4.10 Операція sizeof

За допомогою операції sizeof можна визначити розмір пам'яті, яка відповідає ідентифікатору чи типу. Операція sizeof має наступний формат:

Sizeof ( Вираз ),

де у якості виразу може бути використаний ідентифікатор або ім'я типу.

Застосування операції sizeofдо імені типу або до ідентифікатора, що має тип структури чи об'єднання, приводить до видачі фактичного розміру, що може включа­ти ділянки пам'яті, які використовуються для вирівнювання елементів структури або об'єднання.

Приклад 15 .Операціїsizeof

int a = 2;

float b = 4;

double c = 6;

printf(“%i %i %i\n”, sizeof(a), sizeof(b), sizeof(c));

/* На екрані побачимо: 4 4 8, кількість байт які в пам’яті займають змінні a b та c */

printf(“%i %i\n”, sizeof(int), sizeof(double));

/* На екрані побачимо: 4 8, кількість байт які відповідають типам int та double */

4.11 Операція послідовного обчислення

Операція «,» –операція послідовного обчислення для двох чи більш виразів там, де за синтаксисом припустимий тільки один вираз. Обчислення виконуються зліва на право. При виконанні операції послідовного обчислення перетворення типів не відбу­вається.

4.12 Операція умови (?:)

У мові С присутня одна тернарна операція – умовна операція, що має наступний формат:

Операнд-1 ? Операнд-2 : Операнд-3

Операнд-1 повинний бути цілого чи дійсного типу чи бути покажчиком. Він оцінюється з погляду його рівності 0. Якщо Операнд-1 не дорівнює 0, то обчислюється Операнд-2 і його значення є результатом операції. Якщо Операнд-1 дорівнює 0, то обчислюється Операнд-3 і його значення є результатом операції. Слід зазначити, що обчислюється або Операнд-2, або Операнд-3, але не обоє. Тип результату залежить від типів Операнда-2 і Операнда-3.

Приклад 16. Операція умови (?:)

int a=2, b=4, max;

max = (b<=a) ? a : b;

Результат виразу b<=aдорівнює нулю, тому зміннійmaxприсвоюється значення змінноїb.

4.13 Адресні операції

Існує дві адресні операції: (&) - взяття адреси та (*) - та звернення по адресі.

Якщо перед ім'ям змінної чи елементу масиву стоїть &, це значить взяття їх адреси.

Ці операції найбільш частіше використовуються при роботі з покажчиками. Забігаючи наперед, відмітимо, що покажчик- це змінна, яка може приймати значення адреси іншої змінної певного типу.

Покажчик вказує на певний тип і описується у вигляді:

Тип * ім'я_покажчика;

Приклад 17.Адресна операції: (*)

char *pch; /* Покажчик на тип char. */

int *pi; /* Покажчик на тип int. */

float *p1; /* Покажчик на float. */

Приклад 18. Адресна операції: (*)

double x=2.1, y, *p2; /* Опис змінних х, у типу double і

покажчику р2 на double. */

p2=&x; /* Покажчик р2 отримав значення адреси змінної х. */

y=*p2; /* Змінній у присвоєно значення іншої змінної,

адреса якої знаходиться в покажчику р2 . Тобто у=х;

*/

/* *р2 звернення по адресі, яка знаходиться в р2.*/

4. Прості типи даних

5.1 Оголошення змінних

Типи даних– це спеціальні конструкції мови, що розглядаються компілятором як зразки для створення таких елементів програми, як змінні, константи і функції. Будь-який тип визначає обсяг пам'яті, який виділяє компілятор для розміщення елемен­та; форму внутрішнього уявлення; множину допустимих значень, а також множину допустимих операцій, які програміст може виконувати над елементами даного типу.

Змінна– це іменована ділянка пам’яті, де зберігається значення, яке може бути змінено програмою. В мові С всі змінні, перед їх використанням повинні бути оголошені (declarate).

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

Приклад 1. Синтаксис оголошення змінної

Соседние файлы в папке Архив WinRAR