Функции, пустота и область применения
Функция – это блок кода, который запускается при вызове.
Их лучше всего использовать для кода, который необходимо повторять в вашем проекте.
В C функция, с которой вы будете работать больше всего, — это основная функция. Эта функция является точкой входа в любую программу на C. Есть много других встроенных функций, таких как:
- printf
- сканф
Любая пользовательская функция, которую вы создаете, называется пользовательской функцией.
Несколько основных примеров этого перечислены ниже.
// A Function cosists of the following // A function definition contains the following // Return type name (parameters) int addTen(int x) { return x + 10; } // Not all functions have to return values // These functions will have the void type void countDown(int start){ while(start >= 0){ printf("%d!", start); start--; } }
Как показано выше, функция состоит из следующих разделов:
- Прототип функции
— int functionName(params);
— Объявляет функцию
— Может сопровождаться телом или использоваться как объявление в начале файла, чтобы сообщить компилятору о функция до ее определения - Тело функции
— все, что находится между {}
— что на самом деле делает функция - Вызов функции
—int number = functionName(param1, param2);
— Выполняет функцию
— Может вызываться много раз
//Function prototype int product(int x, int y); int main(){ int pro = product(10, 6); //Function call printf("The product of 10 and 6 is: %d", pro); return 0; } //Function definition int product(int x, int y){ return x * y; }
Тип возвращаемого значения функции Void
Может использоваться как возвращаемый тип для функции, которая не возвращает значение
void printName(string name) { printf("Your name is: %s", name); }
Область действия переменной
Область действия — это время жизни переменной в языке C
Это определяет, когда переменная доступна для использования.
Различают два основных типа охвата:
- Local
— переменная, определенная внутри функции
— доступ к ней можно получить после объявления переменных до тех пор, пока функция не вернется
void localScope(){ int a = 20; printf("A locally is: %d", a); } int main(){ printf("Will cause an error, because a doesn't exist: %d", a); }
- Global
— переменная, определенная вне функций в файле
— может использоваться в любом месте файла
int x = 20; int main(){ printf("X is: %d", x); //X is: 20 x++; doubleX(); printf("X is: %d", x); //X is: 40 return 0; } void doubleX(){ x*=2; }
Если у вас не было возможности прочитать мои предыдущие статьи, посмотрите на:
- Часть I
- "Часть II"
Последняя часть этой серии выйдет на следующей неделе.