Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
20.04.2015
Размер:
154.11 Кб
Скачать

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

При вызове функции формальные параметры заменяются на фактические

Количество, типы и порядок следования фактических параметров должен полностью соответствовать перечню формальных параметров

Вызов функции: пример

Пусть задана фунция int max(int x,int y)

{(if (x>y) return x; else return(y); }

Вызов max(a,b); и max(b,a); для целых значений a и b даст различные результаты.

Если переменная s – типа float, то вызов функции max(s,a); даст сообщение об ошибке

Передача параметров

Существует два способа передачи параметров:

По значению

Операторы функции работают только с копиями передаваемых параметров. Возможности изменить сами значения у функции нет

По адресу

Функция осуществляет доступ к ячейкам памяти по передаваемым адресам и может изменить значения аргументов

Передача параметров

Пусть необходимо написать функцию, которая меняет два значения x и y местами.

Текст программы #include <stdio.h> void swap(int x, int y)

{ printf(“начальные значения:%d %d\n”, x,y);

int temp=y; y=x;x=temp;

printf(“измененные значения: %d %d \n конец функции\n”, x,y);

}//swap

Текст программы void main()

{

int a,b; printf(“a=“);scanf(“%d”, &a); printf(“b=“);scanf(“%d”, &b); swap(a,b);

printf(“новые значения : ”, a,b); }// main

Результат выполнения программы:

a=10

b=20

начальные значения: 10 20 измененные значения: 20 10 конец функции новые значения : 10 20

Выводы: при передаче параметров по значению после выхода из функции параметры имеют первоначальные значения

Функция работает с копиями параметров

Указатели

Указатели предназначены для хранения адресов памяти

Указатель не является самостоятельным типом: он всегда связан с каким-либо конкретным типом

Указатели

Существуют указатели трех типов

Указатель на объект – в этом случае в указателе хранится адрес области памяти, в которой хранятся данные определенного типа

Указатель на функцию – содержит адрес в сегменте кода, по которому располагается исполняемый код функции

Указатель на void – применяется в том случае, когда конкретный тип объекта заранее не определен

Указатели на объект

Указатель может быть

Константой

Переменной

Указывать на константу

Указывать на переменную

Соседние файлы в папке лекции