Разделы презентаций


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

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

Слайды и текст этой презентации

Слайд 1Функції з неоголошеними параметрами
Інколи у функції потрібно передати

деяке число
фіксованих параметрів та невизначене число додаткових. В
цьому

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

Функції з неоголошеними параметрами  Інколи у функції потрібно передати деяке число фіксованих параметрів та невизначене число

Слайд 2
Компілятор контролює тільки обов’язкові фактичні
параметри,

типи яких відомі, а кількість і типи
неоголошених параметрів не

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

Компілятор контролює тільки обов’язкові фактичні параметри, типи яких відомі, а кількість і типи

Слайд 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); Цей макрос повертає значення наступного (чергового)
аргументу зі списку. Другий аргумент задає тип поточного
неоголошеного параметра.
Визначаються – вказівник з типом  va_list  для звертання до необов’язкових параметрів

Слайд 4
  Перед викликом va_arg значення ap повинне бути


встановлене викликом va_start або va_arg.
Кожний виклик

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

Слайд 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; }
 int arg;      va_start (ap, msg);      while ((arg = va_arg (ap, int))

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика