UkrReferat.com
найбільша колекція україномовних рефератів

Всього в базі: 75843
останнє поновлення: 2016-12-04
за 7 днів додано 15

Реферати на українській
Реферати на російській
Українські підручники

$ Робота на замовлення
Реклама на сайті
Зворотній зв'язок

 

ПОШУК:   

реферати, курсові, дипломні:

Українські рефератиРусские рефератыКниги
НазваФункції зі змінним числом параметрів. Командна стрічка, параметри функції MAIN () (реферат)
АвторPetya/www.ukrreferat.com
РозділІнформатика, компютерні науки
ФорматWord Doc
Тип документуРеферат
Продивилось4355
Скачало256
Опис
ЗАКАЧКА
Замовити оригінальну роботу

Реферат на тему:

 

Функції зі змінним числом параметрів.

 

командна стрічка, параметри функції MAIN ()

 

 

1. ФУНКЦІЇ ЗІ ЗМІННИМ ЧИСЛОМ ПАРАМЕТРІВ

 

У С/C++ поряд з використанням функцій з фіксованим числом параметрів

можна використовувати функції зі змінним числом параметрів, тобто

функції, у які можна передавати дані, не описуючи їх у прототипі й

заголовку функції. Описи цих даних заміняються трьома крапками. У таких

функціях може перебувати й постійний параметр (ознака), за допомогою

якого можуть зчитуватися дані. Якщо у функції є кілька постійних

параметрів, то спочатку перераховуються ці параметри, а потім ставляться

три крапки. Зверніть увагу, при передачі у функцію додаткових

аргументів, компіляторові не відомо, який тип змінних буде використаний

у функції для їхньої обробки. Тому контроль типів, приведення аргументів

до типу параметрів не відбувається. Необхідні перетворення повинен

передбачити програміст. Дані в стек поміщаються відповідно до типу,

який використовується при виклику функції. В C++ повинен бути хоча б

один фіксований параметр.

 

Можливість передачі змінного списку параметрів залежить від способу

запису аргументів функції в стек програми й способу очищення стека від

параметрів. У С/С++ параметри записуються в стек з кінця списку

параметрів (якщо не зазначений модифікатор pascal) і звільняє стек

викликаюча функція. Таким чином, якщо є виклик функції fl(xl,x2,x3);, то

аргументи xl, х2, х3 занесуться в стек програми в такий спосіб:

 

Вершина стека - sp3 | х1 - молодші адреси

 

sp2 | х2

 

sp1 | х3 -старші адреси.

 

У мові Паскаль стек від параметрів звільняє викликаючий модуль. У

зв'язку з цим список параметрів повинен бути відомий заздалегідь і мати

фіксовану довжину. Аргументи в стек поміщаються в порядку їхнього

проходження;

 

Вершина стека - sp3 | х3 - молодші адреси

 

sp2 | х2

 

sp1 | х1 -старші адреси.

 

Відзначимо, що мова С допускає і паскалівский спосіб передачі аргументів

у функцію.

 

Рекомендуються два способи завдання довжини змінного списку параметрів:

 

- пересилання у функцію числа аргументів;

 

- завдання ознаки кінця списку аргументів.

 

Наприклад: f2(5,xl,x2,x3,x4,x5); - тут зазначене число аргументів - 5;

f3( xl,x2,x3,x4,0); - тут зазначена ознака кінця списку - 0.

 

Зауважимо, що копії даних типу char передаються у функцію (стек) як

іnt, a float - як double. Реалізувати функції зі змінним числом

параметрів можна трьома способами:

 

- використовуючи вказівник без типу, наприклад: voіd *pv;

 

- використовуючи вказівник, що відповідає типу змінних списку

параметрів, наприклад:

 

іnt *pі; double *pd;

 

- використовуючи вказівник, визначений самою системою програмування. У

бібліотеці С є стандартні макроси для роботи зі списком змінної довжини,

які описані в розділі бібліотеки stdarg.h. Таких макросів є чотири:

va_lіst, va_start, va_arg, va_end.

 

Приклад оголошення й виклику функції:

 

іnt func (іnt, ...); - прототип функції зі змінним числом параметрів, що

має один постійний параметр і повертає число типу іnt.

-----> Page:

0 [1] [2]

ЗАМОВИТИ ОРИГІНАЛЬНУ РОБОТУ