Другие языки программирования и технологии
Функции в языке СИ
Помогите пожалуйста разобраться в функциях на языке СИ! Для чего они нужны и для чего используется каждая строчка , где вызов, а где инициализация на примере программы: int volume(int a, int b, int c); int main(void) { int x=5, y=6, v; v=volume(x,y,8); return 0; } int volume(int a, int b, int c) { return a*b*c; }
int volume(int a, int b, int c); - объявление функции которая возвращает параметр int и принимает три значения int a, int b, int c. Можно описать функция тут.
int main(void)
{
int x=5, y=6, v;
Далее идет вызов функции volume(x,y,8) и результат записывается в переменную v. Параметры x,y,8 должны быть int.
v=volume(x,y,8);
return 0;
}
Описание функции:
int volume(int a, int b, int c)
{
return a*b*c; //вернуть a*b*c, заместо вызова подставится это значение. Если функция не объявлена до main, то будет ошибка.
}
Функции нужны для сокращения кода (так как можно их вызывать неоднократно по имени) и инкапсуляции (скрытие большого участка кода) . Например в функции могут быть записаны многие команды, и нам не нужно будет потом их заново писать, а просто вызовем функцию.
int main(void)
{
int x=5, y=6, v;
Далее идет вызов функции volume(x,y,8) и результат записывается в переменную v. Параметры x,y,8 должны быть int.
v=volume(x,y,8);
return 0;
}
Описание функции:
int volume(int a, int b, int c)
{
return a*b*c; //вернуть a*b*c, заместо вызова подставится это значение. Если функция не объявлена до main, то будет ошибка.
}
Функции нужны для сокращения кода (так как можно их вызывать неоднократно по имени) и инкапсуляции (скрытие большого участка кода) . Например в функции могут быть записаны многие команды, и нам не нужно будет потом их заново писать, а просто вызовем функцию.
int volume(int a, int b, int c); /* Объявление функции функции */
int main(void) /* Точка входа программы -- выполнение начинается здесь */
{
int x=5, y=6, v; /* Локальные переменные */
v=volume (x,y,8); /* Вызов функции */
return 0; /* Выход из программы с кодом завершения 0 */
}
int volume (int a, int b, int c) /* Определение функции */
{
return a*b*c; /* Выход из функции и возврат результата */
}
int main(void) /* Точка входа программы -- выполнение начинается здесь */
{
int x=5, y=6, v; /* Локальные переменные */
v=volume (x,y,8); /* Вызов функции */
return 0; /* Выход из программы с кодом завершения 0 */
}
int volume (int a, int b, int c) /* Определение функции */
{
return a*b*c; /* Выход из функции и возврат результата */
}
я здаюсь, не знаю Си
Эйнштейн я вижу Вы там трубку курите, наверное чем то добрым её забиваете? В других постах я видел, что Вы спец по плюсам. Я так вообще приведенном коде не вижу принципальных различий Си от приплюснутого. Так и я буду все время отвчать"Я НЕ ЗНАЮ", глядишь тоже мудрецом стану как и Вы!
Похожие вопросы
- Функция в языке Си, которая если мы вводим числа до 100, пишет верно, если больше то неверно.
- Функция clock(). Язык Си.
- Программирование на языке СИ с использованием подпрограммы-функции
- Язык си, двухмерный массив и функция.
- Оконное приложение на WinAPI, вопрос про параметры функции WndProc. Язык программирования Си.
- Почему язык СИ такой сложный?
- Задачка по нахождению суммы цифр числа на языке Си... Не могу разобраться с функциями Div и Fmod...
- язык СИ. НУЖНО ОКРУГЛИТЬ ЧИСЛО В БОЛЬШУЮ СТОРОНУ БЕЗ ФУНКЦИИ FLOOR ЗАРАНЕЕ СПАСИБО
- Язык си функция rand, не пойму почему так
- В языке си функция if (x) {} и if(x!=0){} это дно и тоже?