Конспект лекций по информатике и информационным технологиям

141 double f; p = &f; 1 ОШИБКА! Здесь указателю типа int присваивается адрес переменной типа double. Это неверно. При присваивании значения области памяти, адресуемой указателем, указатель можно использовать с левой стороны от оператора присвоения. Например, после испол­ нения следующего фрагмента кода int *р, num; р = # *р = 10; переменной пит будет присвоено значение 10. Помимо операций и с указателями также можно производить арифметиче­ ские операции и операции сравнения. 12.2. Функции 12.2.1. Назначение функций В процессе решения задачи на разных этапах может потребоваться выполнение од­ них и тех же вычислений с разными данными. Программу решения такой задачи целесо­ образно составлять так, чтобы операторы повторяемых вычислений записывались один раз, а результат можно было получить, переходя к выполнению этих операторов из разных мест программы. Части вычислительного процесса, повторяющиеся при решении данной задачи, можно реализовать в виде процедур или функций. Кроме стандартных процедур и функций, в программе можно использовать заранее определенные процедуры и функции пользователя. 12.2.2. Онисание функций Функция - это самостоятельная единица программы, созданная для решения кон­ кретной задачи. Функция в языке С++ играет ту же роль, что и подпрограммы или проце­ дуры в других языках. Функциями удобно пользоваться, например, если необходимо об­ работать один и тот же код программы. Описание функции содержит заголовок, за которым следует программный блок (тело функции) функция имеет аргументы, то в ее заголовке должны быть объявле­ ны переменные, принимающие их значения. Эти переменные называются формальными параметрами. В заголовке функции определяется тип результата, возвращаемого функци­ ей, имя функции иформальные параметры (если они имеются). Список формальных пара­ метров заключается в круглые скобки. В нем перечисляются типы параметров и их имена, разделенные запятыми. В теле функции задаются операторы, которые должны выполняться при активиза­ ции функции. Программный блок выделяется фигурными скобками и Приведем пример задания функции: doublemax(double х, double у) /* функция возвращает максимум из значений х и у */ { double m; if(х>=у) m=x; else m=y; returnx; } 12.2.3. Вызов функций При вызове функции указывается имя функции и фактические параметры. Функ­ ция может возвращать или не возвращать значение в вызвавшую ее программу. Если

RkJQdWJsaXNoZXIy MTY0OTYy