КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Объявление, определение, параметры и вызов функции
Операция sizeof Операция sizeof позволяет определить, сколько памяти занимает то или иное значение. Например, sizeof (int) определяет число байтов, отводимое под переменные типа int, а sizeof b – число байтов, занимаемое переменной b. Операндом унарной операции sizeof является имя типа или выражение. Операнд заключается в скобки (если операнд – выражение, скобки не обязательны). Результат операции – целое число, равное количеству байтов, необходимых для хранения в памяти заданной величины. 4. Язык C++: функции Подпрограммы в C/C++ называются функциями. Функции могут возвращать результат своего выполнения. Такие функции в языке C++ имеют практически тот же смысл, что и функции в математике. Функция вызывается с определенными аргументами (фактическими параметрами), выполняет необходимые действия и возвращает результат в точку вызова. Результаты выполнения таких функций могут являться составными частями выражений. Функции могут не иметь параметров, они выполняют одни и те же действия при всех вызовах, однако возвращаемый ими результат может быть разным, например, если он зависит от вводимых или получаемых извне значений. Программа на языке C++ состоит, по крайней мере, из одной функции – функции main. Программа может содержать и другие функции. Выполнение программы всегда начинается с функции main, других особенностей у функции main нет. В C++ нет вложенных функций, то есть невозможно определить функцию внутри другой функции. Каждая функция в C++ – это обособленный фрагмент программы, блок. Доступ к операторам функции нельзя получить с помощью какого-либо оператора перехода (например, невозможно, используя goto, перейти в середину другой функции). Единственный возможный способ выполнения операторов функции – ее вызов. Для того, чтобы использовать функции, необходимо сделать их известными в программе. Различают объявление и определение функции. Предварительное объявление функции, часто называемое прототипом функции, сообщает компилятору тип возвращаемого функцией значения, имя функции и (в круглых скобках) список ее параметров и заканчивается точкой с запятой: // Прототип функции func с одним целым параметром, // возвращающей в качестве результата целое число: int func (int a); // Прототип функции s с двумя параметрами типа int, // возвращающей результат типа double: double s (int x, int y); // Прототип функции f без параметров, возвращающей целое число: int f (); Такое объявление функции подобно объявлению переменной, оно определяет сигнатуру функции (ее имя, количество, типы и порядок параметров), а также тип возвращаемого значения. Имена параметров в прототипе функции избыточны и могут отсутствовать: int func (int); double s (int, int); Определение функции описывает действия, выполняемые функцией для получения результата. Оно начинается заголовком, который указывает тип возвращаемого функцией значения, имя функции, список параметров функции и их типы. После заголовка в фигурных скобках записываются операторы (тело) функции – действия, которые данная функция выполняет. Пример определения функции, принимающей в качестве параметра значение типа int, вычисляющей и возвращающей его квадрат: int func (int a) // заголовок функции { int sq = a * a; // тело функции... return sq; } Параметры, указанные в заголовке функции называются формальными параметрами. При выполнении функции вместо них подставляются фактические параметры, указываемые при обращении к функции. Для того, чтобы выполнить операторы функции, необходимо вызвать эту функцию (обратиться к ней), указав в нужной точке программы имя функции и следом в скобках – список фактических (передаваемых в функцию) параметров. При вызове функции управление передается на ее начало и начинается выполнение ее операторов. Формальные параметры принимают значения фактических параметров, заданных при вызове, и функция выполняется в соответствии с ее определением. При достижении конца функции или оператора return происходит выход из функции, управление возвращается в ту точку, откуда функция была вызвана, а вместо имени функции подставляется вычисленный результат. Несколько примеров использования определенной выше функции func, имеющей один параметр типа int и возвращающей значение этого же типа (a, b, c, d, k, m, n, x, y, z – переменные типа int): a = func (3); b = n + func (m); c = func (z-y) + func (y+4); cout << func (x); d = func (func (k)); // "вложенный" вызов функции Объявить функцию необходимо перед ее первым вызовом и сделать это можно одним из двух способов. Во-первых, можно использовать предварительное объявление (прототип) функции, “анонсируя” последующее ее определение. Анонсированное прототипом определение функции может располагаться в любом последующем месте программы, например: int func(int); // объявление (прототип) функции func ... int main () { int x, y; ... x = func(y); // вызов (обращение к) функции func ... } int func(int a) // определение функции func { ... } Понятно, что прототип и заголовок функции должны совпадать по типу возвращаемого значения и по последовательности типов параметров. Еще один способ объявить функцию – расположить определение функции перед первым ее вызовом: int func(int a) { ... } int main () { int x, y; ... x = func(y); ... } Функция может не возвращать никакого значения. В этом случае её результат должен быть объявлен с типом void, а её вызов не может быть использован в выражении: void func_2(int a) { cout << a * a; } int main () { ... func_2 (10); // вызов функции func_2 типа void ... }
Дата добавления: 2014-01-11; Просмотров: 721; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |