Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Тема 7. Особенности написания и использования функций в языке С

Читайте также:
  1. Condicional Simple Образование будущего в прошедшем в испанском языке
  2. II. Примеры необычного использования горячих источников.
  3. III. ХАРАКТЕРНЫЕ ОСОБЕННОСТИ УЧЕНИЙ ВЕАИКОГО СИМВОЛА
  4. XI.6. Особенности графики аниме
  5. Адаптация функций принадлежности
  6. Административно-правовые отношения: их особенности и виды.
  7. Административно-правовые отношения: понятие, особенности и их виды.

В языке С понятия процедуры нет, существует только понятие функции. Если не требуется после выполнения последовательности операторов возвращать какое-либо значение, то функция имеет тип void. Функции (кроме функций имеющих тип void), могут использоваться во всех случаях, что и переменные, за исключением левой части оператора присваивания.

Любая программа на языке С состоит из функций. Любая функция должна быть объявлена и определена. Объявление функции (прототип, заголовок, сигнатура) задает ее имя, тип возвращаемого значения и список передаваемых параметров. Определение функции содержит кроме объявления, тело функции, представляющее собой последовательность операторов. Объявление функции должно находится в тексте программы раньше ее вызова, а определение может находиться как до (в этом случае не делается отдельного объявления), так и после ее вызова. В языке С описание функции не может быть находится в теле какой-либо другой функции, то есть не может быть локальным. Однако, в других языках программирования, например, в Pascal, функции могут быть вложенными.

Таким образом, схема описания функций в программе на языке C представляется следующими двумя способами:

 


1.

объявление функции f1

….

объявление функции fn

определение главной функции main

определение функции f1

…..

определение функции fn

Причем любая из функций fi может быть вызвана любой функцией fj и функцией main


2.

определение функции f1

…..

определение функции fn

определение главной функции main

Причем любая из функций fi может быть вызвана функцией fj, где j>=i и функцией main


 

Выбор одного из способов во многом определяется стилем написания программ конкретного программиста.

Синтаксис определения функции в языке С:

[класс памяти] тип имя_функции ([список параметров]) [throw (исключения)]

{тело функции}

Класс памяти функции задает область действия функции. Для задания класса памяти допустимы только спецификаторы extern и static. Static указывает на то, что область действия функции с момента объявления и до конца файла, где она объявлена, extern - на то, что область действия функции во всех модулях, где она объявлена. По умолчанию – static.

Тип функции может быть любым кроме массива и функции (но может быть указателем на массив или функцию), может быть void.

Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра указывается тип и имя (в объявлении имя не обязательно). Параметры, перечисляемые в заголовке функции, называются формальными, а параметры, записанные в операторе вызова функции, называются фактическими. В объявлении и определении одной функции типы и порядок следования параметров должны совпадать.

Например,

void vivod (int); // объявление функции

void vivod (int a) {printf(“%40d”,a;)} // определение функции

vivod (50); // вызов функции

 


Дата добавления: 2015-11-30; просмотров: 41 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)