Форум программистов, компьютерный форум CyberForum.ru

Список формальных параметров в функции - C++

Восстановить пароль Регистрация
 
Faxed
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7
02.04.2014, 17:35     Список формальных параметров в функции #1
Не понимаю цель формальных параметров. Зачем, например, вводить (int a, int b) в функции
C++
1
2
3
4
int summ(int a,int b)
{
Return a+b;
}
Вот все, что нашел в интернете:
"В общем виде синтаксис функции выглядит следующим образом:

возвр_тип имя_функции (список_параметров)

{

тело функции

}

Тело функции содержит последовательность операторов языка, выполняющих некоторые действия.

Возвр_тип определяет тип значения (результата), возвращаемого функцией. Функция может возвращать значение любого типа, за исключением массивов. Имя_функции представляет собой идентификатор, после имени функции обязательно следуют круглые скобки. В скобках указывается список формальных параметров. Каждый элемент списка формальных параметров состоит из имени переменной и ее типа. Все параметры функции должны объявляться отдельно, причем для каждого из них надо указывать и тип, и имя. При вызове функции формальные параметры заменяются значениями фактических аргументов."
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 18:13     Список формальных параметров в функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как компилятор должен понять, что за переменные a и b в функции?
Faxed
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7
02.04.2014, 19:42  [ТС]     Список формальных параметров в функции #3
alsav22, то есть, объявлять переменные необязательно, это можно сделать тут, да???

Добавлено через 6 минут
А могу оставить скобки пустыми и объявить все в теле функции, да???
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 19:55     Список формальных параметров в функции #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Faxed Посмотреть сообщение
А могу оставить скобки пустыми и объявить все в теле функции, да???
Можно, но это будут переменные, объявленные в теле функции, а тут разговор идёт о переменных, которые передаются в функцию при вызове.
Faxed
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7
02.04.2014, 20:04  [ТС]     Список формальных параметров в функции #5
alsav22, то есть, если я объявил в теле какой-либо функции, то я их не смогу, не передавая, использовать в другой функции, или как?
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
02.04.2014, 20:26     Список формальных параметров в функции #6
Параметры в функцию можно передавать 3 способами
C++
1
2
3
int summ1(int a);
int summ2(int* pa);
int summ3(int& ra);
В 1 случае (параметр int a) передается по значению,
т.е. в теле функции оказывается копия фактического параметра.
Соответственно, если ее поменять, то оригинал не поменяется:

Во 2 случае (параметр int* pa) передается адрес фактического параметра.
Соответственно зная адрес можем поменять фактический параметр:
В 3 случае параметр передается по ссылке. Это означает,
что передается непосредственно переменная и мы ее можем поменять:
C++
1
2
3
4
5
6
7
8
9
10
void summ1(int a){a=0;}
void summ2(int* pa){(*pa)=1;}
void summ3(int& a){a=2;}
int main()
{
    int x=-1;
    summ1(x);// x не меняется
    summ2(&x);// x станет равным 1
    summ3(x);// x станет равным 2
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 21:23     Список формальных параметров в функции
Еще ссылки по теме:

C++ Имена формальных и фактических параметров должны отличаться?
Использование функций в качестве формальных параметров C++
C++ В каких методах фактических параметров (аргументов) больше, чем формальных?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 21:23     Список формальных параметров в функции #7
Цитата Сообщение от Faxed Посмотреть сообщение
то есть, если я объявил в теле какой-либо функции, то я их не смогу, не передавая, использовать в другой функции,
Да. Такие (локальные) переменные удаляются (память под ними считается свободной) при выходе из функции.
Yandex
Объявления
02.04.2014, 21:23     Список формальных параметров в функции
Ответ Создать тему
Опции темы

Текущее время: 03:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru