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

143 #include <stdio.h> int sqr(intx); void main(void) { int t=10; printf("%d %d", sqr(t), t); } int sqr(int x) { x=x*x; return x; } В этом примере после выполнения присваивания х=х*х изменится только значе­ ние переменной х внутри функции sqr. Значение переменной указанной при вызове функции sqr(t), по-прежнему останется равным 10. 12.2.5. Передача параметров по ссылке Для передачи параметра по ссылке необходимо передать внутрь функции указатель на этот параметр. В этом случае изменение значения формального параметра внутри функции приведет к изменению значения фактического параметра в вызывающей про­ грамме. В этом случае параметры должны быть объявлены как указатели. Пример: void swap(int *х, int *у) { int temp; temp=*x; /*сохраняем значение, записанное по адресу х */ *х=*у; /*записываем значение, записанное по адресу у, в ячейку по адресу х */ *y=temp; /* записываем содержимое temp по адресу у */ } Функция swap может менять местами значения двух переменных, на которые ссы­ лаются указатели х и у. К содержимому этих переменных можно обращаться, используя обычные операции над указателями *х и *у. При вызове функции swap в качестве фактических параметров должны быть пере­ даны указатели на переменные. Пример: void swap(int *х, int *у); void main(void) { int a=l, b=2; swap(&a, &b); /* передаются адреса переменных a и b */ } Контрольные вопросы 1. Что представляет из себя программа на С++? 2. На какие группы можно разбить элементы алфавита языка С++? 3. Что такое идентификатор? Правила его написания. 4. Опишите структуру программы на С++. 5. Для чего предназначены знаки операций? 6. Что понимается под типом данных? 7. Какие группы типов Вы знаете?

RkJQdWJsaXNoZXIy MTY0OTYy