Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Лабораторная работа № 4
УКАЗАТЕЛИ, ФУНКЦИИ
1. Цель работы Освоить правила написания и использования функций в языке СИ. Научиться использовать указатели при обработке массивов данных.
2. Краткие теоретические сведения
Функции в языке СИ оформляются следующим образом:
/* прототип функции */ long func(int, int, int*);
/ * описание функции * / long func (a, b, с) // заголовок int a, b, *с; // описание формальных параметров { long х; // описание локальных переменных ... // тело функции *с=3; // возврат результата по ссылке return x; // возврат результата через имя функции } /* вызов функции */ Main() { long r; int i, j, k; // описание локальных переменных ... r = func (i, j, & k); // вызов }
Указатель в СИ – переменная, содержащая адрес другой переменной. Указатели должны быть описаны в виде: int *ip; // указатель на int float *fp; // указатель на float При работе с указателями используются унарные операции * - обращение по адресу; & - получение адреса;
Таким образом, можно записать
int x, *ip; // описания переменных ip=& x; // присвоение адреса *ip=3; // обращение по адресу
Если указателю присвоен адрес элемента массива, его можно использовать так же, как и имя массива. Следующие обращения к третьему элементу массива s полностью эквивалентны:
int s[10], *p; p=s; s[3]=0; // вариант 1 p[3]=0; // вариант 2 *(p+3)=0; // вариант 3 Операции инкремента (++) и декремента (--) изменяют указатель так, что он будет указывать на соседний элемент данных такого же типа. Например, если fp – указатель на float, операция fp++ увеличит fp на 4, т. е. на количество байт, занимаемых элементом типа float. 3. Методические указания. В ходе выполнения лабораторной работы потребуется выполнить сортировку массива строк. Для ускорения этой операции обычно используется дополнительный массив указателей. В этом случае вместо перестановки двух строк с помощью функции strcpy() используется перестановка указателей обычным присваиванием. Формирование массива указателей можно совместить с вводом строк. 4. Порядок выполнения работы 4.1. Написать программу сортировки массива строк по вариантам (табл. 4.2.). Ввод данных, сортировку и вывод результатов оформить в виде функций. Входные и выходные параметры функции сортировки указаны в таблице. Входные и выходные параметры функций для ввода-вывода приведены в таблице 4.1. 4.2. Модифицировать программу п.1., применив в функциях передачу параметров и возврат результатов по ссылке (с использованием указателей). Сравнить результаты.
Таблица 4.1
Таблица 4.2
5. Содержание отчета 5.1. Задание. 5.2. Листинги программ. 5.3. Тестовый пример.
6. Контрольные вопросы 6.1. Правила описания указателей. 6.2. Как связаны указатели и массивы? 6.3. Назначение прототипа функции. 6.4. Структура описания функции. 6.5. Какие операции допустимы с адресами? 6.6. Массивы указателей – описание и использование. 6.7. Привести пример описания двумерного массива. 6.8. Привести пример доступа к элементу двумерного массива через указатель на него.
|