Пропустить навигацию.
Главная

Язык "С" и Linux. --- 2. Собственные функции.

Аватар пользователя freemaster

Сейчас будем разбираться что такое функция.
Вот пример:


#include <stdio.h>
main()
{
 int i;
 printf("\nВозведение в чисел \"2\" и \"-3\" в степень\n\n");
 printf("      2       -3\n");
 printf("_________________\n");
 for (i=0; i<10; ++i)
  printf("%2d | %3d | %6d\n", i, func(2,i), func(-3,i)); 
   /*"func(x,n)" означает обращение к функции FUNC которая будет описана ниже*/
   /*функции придумываются самостоятельно*/
 return 0;
}
 
func(x,n) /* описание функции */
int x, n;
{
 int i, p;
 p = 1;
 for (i=1; i<=n; ++i)
  p = p * x;
 return (p); /* возвращает возведенное в степень число */
}

Тут стоит обратить внимание, что функция - это как будто маленькая программа внутри основной. Ей можно дать свое любое название (здесь FUNC можно назвать по другому), и выполнять она может самые разные задания. Еще интересный факт:
В программе приведенной выше есть 2 функции:
main()
func(x,n)
В этих функциях могут быть переменные с одинаковым названием (z в main и z в func) но они будут совершенно независимыми друг от друга (разными)!

Здесь мы видим: в языке "С" нет оператора возведения в степень. Тогда мы сделаем его сами с помощью функции! Функция - одна из важнейших частей языка "С".

Re: Язык "С" и Linux. --- 2. Собственные функции.

во-первых #include -> #include "stdio.h"

во-вторых: Описание функции:
[тип возвращаемого значения] [название функции]([входные параметры])
{
блок команд;
}

Пример:
 
int summ(int a, int b){
return a+b;
}

тип возвращаемого значения - int
название функции - summ
входные параметры - int a и int b

блок команд: return a+b; - вернуть сумму входных параметров

Вызов:

int с = summ(a,b);

Re: Язык "С" и Linux. --- 2. Собственные функции.

во-первых #include -> #include "stdio.h"
тогда уж <stdio.h>
опечатка

А с функциями все правильно, обновите знания))) По крайней мере все работает и так о функции написано в моей книге.

Re: Язык "С" и Linux. --- 2. Собственные функции.

если ты не описывал свой файл stdio.h в текущей дирректории, то можно и в кавычках

Re: Язык "С" и Linux. --- 2. Собственные функции.

кстати коммунити вот эти "<" символы принимает за теги и не отображает

Re: Язык "С" и Linux. --- 2. Собственные функции.

а &lt; , &gt; не катит? :)

Re: Язык "С" и Linux. --- 2. Собственные функции.

Спасибо, катит :)

ЗЫ я HTML пока изучать не планирую :)