Функция языка C (Часть 1)


функция(1)

1. Что такое функция?

  • Определение функции из Википедии: Подпрограмма

  • В информатике — часть кода большой программы , состоящая из одного или нескольких блоков операторов. Он отвечает за выполнение конкретной задачи
    и относительно независим от других кодов.

  • Как правило, существуют входные параметры и возвращаемые значения, обеспечивающие инкапсуляцию и сокрытие деталей процесса.Эти коды обычно интегрируются в библиотеки программного обеспечения.

  • Классификация функций:
    1. Библиотечные функции
    2. Пользовательские функции.

  • Расположение основной функции: язык C предусматривает, что в исходной программе расположение основной функции может быть произвольным. При выполнении программы, написанной на языке Си, функция main эквивалентна входу в исполняемую программу. Если нет грамматических и логических ошибок, основную функцию можно разместить где угодно. Независимо от положения главной функции во всем процессе, программа на языке C всегда начинает выполнение с функции ma. Основная функция, также известная как основная функция, является функцией входа программы на языке C, то есть выполнение программы начинается с основной функции, а мобилизация других функций также вызывается прямо или косвенно в основной функции. . Программа на языке C имеет одну и только одну главную функцию.Помимо основной функции может быть несколько других функций.Каждая функция реализует определенную операцию. Выполнение программы всегда начинается с основной функции.Если есть другие функции, она вернется к основной функции после завершения вызовов других функций.Наконец, основная функция завершает всю программу. При выполнении программы основная функция вызывается системой.

2. Библиотечные функции

  • В языке C часто используемые функции инкапсулированы в функции, которые доступны каждому.
    Например: scanf printf strlen strcmp rand srand time.

  • Язык C не реализует библиотечные функции напрямую, но предоставляет стандарты языка C и соглашения о библиотечных функциях.Реализация библиотечных функций обычно реализуется компилятором.

  • Примечание. При использовании библиотечных функций необходимо включить соответствующий заголовочный файл #include.
  • стркпи
  • Мемсет

3. Пользовательские функции

Пользовательские функции аналогичны библиотечным функциям. У них есть имена функций, типы возвращаемых значений и параметры функции

. //Найти максимальное значение двух целых чисел.

//Функция, которая может обменивать содержимое двух целочисленных переменных

- //Фактические параметры - Фактические параметры - //Когда фактические параметры передаются формальным параметрам - //Формальные параметры являются временной копией фактических параметров - //Таким образом, изменения формальных параметров не повлияют на фактические параметры
  • Обмен x и y вообще не повлияет на a и b.

Улучшение:
Сначала значение a помещается в tmp; второй шаг, *pb присваивается pa; затем значение pb помещается в tmp; фактически происходит обмен значениями трех переменных; что происходит обмен — значение, на которое указывает адрес. Содержимое; адреса не подлежат обмену.

Окончательный эффект был достигнут.

4. Параметры функции (формальные имена параметров и фактические имена параметров могут совпадать)

  • 4.1
    Фактические параметры (фактические параметры)
    на самом деле являются параметрами, передаваемыми в функцию, называемыми фактическими параметрами.
    Фактическими параметрами могут быть: константы, переменные, выражения, функции и т. д.
    Независимо от того, какого типа величины являются фактическими параметрами, они должны иметь определенные значения при вызове функций, чтобы эти значения можно было перенести в фактические параметры.
  • 4.2
    Формальные параметры (формальные параметры)
    Формальные параметры относятся к переменным в круглых скобках после имени функции.Поскольку формальные параметры создаются (выделяются единицы памяти) только во время вызова функции, они называются формальными параметрами.Формальные параметры называются формальными параметры после завершения вызова функции, после чего они будут автоматически уничтожены. Таким образом, формальные параметры действительны только внутри функций.

5. Вызов функции

- 5.1 Формальные параметры и фактические параметры функции, вызываемой по значению, занимают разные блоки памяти соответственно, и изменения формальных параметров не влияют на фактические параметры. (В этой конструкции формальный параметр является временной копией фактического параметра, и изменения формального параметра не влияют на фактический параметр.) - 5.2 Вызов по адресу - Вызов по адресу предназначен для передачи адреса памяти созданной переменной. вне функции в Параметры функции — это способ вызова функции. — Этот метод передачи параметров позволяет установить реальную связь между функцией и переменными вне функции, то есть переменными вне функции можно напрямую манипулировать внутри функции.

(Доступ к переменным вне функции можно получить и управлять ими через указатели формальных параметров.)

6. Вложенные вызовы и цепочный доступ к функциям

  • 6.1 Вложенные вызовы
    Вложенные вызовы возможны, однако определения вложенности не существует.
  • 6.2 Доступ по цепочке
    Используйте возвращаемое значение одной функции в качестве параметра другой функции.

7. Объявление и определение функций

  • 7.1 Объявление функции:
    1. Сообщите компилятору, как называется функция, каковы ее параметры и какой тип возвращаемого значения. Но существует она или нет, нельзя определить по объявлению функции.
    2. Объявление функции обычно появляется перед использованием функции, и ее необходимо сначала объявить, а затем использовать .
    3. Объявление функции обычно помещается в заголовочный файл.

  • 7.2 Определение функции:
    Определение функции относится к конкретной реализации функции и объясняет функциональную реализацию функции.

Supongo que te gusta

Origin blog.csdn.net/Ghr_C99/article/details/130693702
Recomendado
Clasificación