Презентация на тему: Функц ії з неоголошеними параметрами

Реклама. Продолжение ниже
Функц ії з неоголошеними параметрами
Функц ії з неоголошеними параметрами
Функц ії з неоголошеними параметрами
Функц ії з неоголошеними параметрами
Функц ії з неоголошеними параметрами
1/5
Средняя оценка: 5.0/5 (всего оценок: 39)
Код скопирован в буфер обмена
Скачать (58 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Функц ії з неоголошеними параметрами

Інколи у функції потрібно передати деяке число фіксованих параметрів та невизначене число додаткових. В цьому в ипадку опис функції буде мати вигляд : тип ім'я_функції ( список параметрів,... ) Список аргументів включає в себе скінченне число обов'язкових параметрів (цей список не може бути порожнім), після якого на місці невизначеного числа параметрів ставиться три крапки. У викликах функцій зі змінною кількістю параметрів спочатку вказують значення обов ’ язкових параметрів, а потім записують довільну кількість даних, що задають неоголошені параметри.

Изображение слайда
1/1
2

Слайд 2

Компілятор контролює тільки обов ’ язкові фактичні параметри, типи яких відомі, а кількість і типи неоголошених параметрів не перевіряє. Прикладами бібліотечних функцій зі змінною кількістю параметрів є функції printf () та scanf (). Реалізація функц ій з неоголошеними параметрами базується на механізмі взаємодії фактичних і формальних параметрів через стек. Схема запису в стек значень фактичних параметрів визначається системою програмування. Бібліотека С містить спеціальні функції- макроси, задекларовані в заголовному файлі <stdarg.h> для доступу до неоголошених параметрів, незалежно від конкретної програмно-апаратної організації збереження параметрів.

Изображение слайда
1/1
3

Слайд 3

Визначаються – вказівник з типом va_list для звертання до необов ’ язкових параметрів і три макроси: va_start, va_arg, va_end. Макрос va_start має синтаксис: void va_start ( va_list ap, lastfix); Цей макрос починає роботу зі списком, встановлюючи його покажчик ap на перший неоголошений параметр. Другим аргументом вказується ім ’ я останнього з обов ’ язкових параметрів. Макрос va_arg має синтаксис: void va_arg ( va_list ap, type); Цей макрос повертає значення наступного (чергового) аргументу зі списку. Другий аргумент задає тип поточного неоголошеного параметра.

Изображение слайда
1/1
4

Слайд 4

Перед викликом va_arg значення ap повинне бути встановлене викликом va_start або va_arg. Кожний виклик va_arg переводить покажчик на наступний аргумент. Макрос va_end має синтаксис: void va_end ( va_list ap ); Даний макрос завершує роботу зі списком, звільняючи пам'ять. Приклад. #include <stdio.h> #include <stdarg.h> void sum (char *msg,...) { int total = 0;      va_list ap;

Изображение слайда
1/1
5

Последний слайд презентации: Функц ії з неоголошеними параметрами

int arg;      va_start (ap, msg);      while ((arg = va_arg (ap, int)) != 0)      {           total += arg;      }      printf (msg, total);      va_end (ap); } int main(void) {      sum (" Сума 1+2+3+4 до рівнює %d\n", 1, 2, 3, 4, 0);      return 0; }

Изображение слайда
1/1
Реклама. Продолжение ниже