ПОЗНАВАТЕЛЬНОЕ Сила воли ведет к действию, а позитивные действия формируют позитивное отношение Как определить диапазон голоса - ваш вокал
Игровые автоматы с быстрым выводом Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими Целительная привычка Как самому избавиться от обидчивости Противоречивые взгляды на качества, присущие мужчинам Тренинг уверенности в себе Вкуснейший "Салат из свеклы с чесноком" Натюрморт и его изобразительные возможности Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д. Как научиться брать на себя ответственность Зачем нужны границы в отношениях с детьми? Световозвращающие элементы на детской одежде Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия Как слышать голос Бога Классификация ожирения по ИМТ (ВОЗ) Глава 3. Завет мужчины с женщиной 
Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д. Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу. Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар. | Определение структур. Доступ к элементам структур. Допускается определение структур одновременно с определением структурного типа: struct { double x,y; } s1, s2, sm[9]; struct { int year; char moth, day; } date1, date2; Переменные s1, s2 определяются как структуры, каждая из которых состоит из двух компонент х и у. Переменная sm определяется как массив из девяти структур. Каждая из двух переменных date1, date2 состоит из трех компонентов year, moth, day. Еще одну возможность ввести структурный тип дает служебное слово typedef,позволяющее ввести собственное обозначение для любого определения типа. Определение структурного типа не связано с выделением памяти, а при определении объекта структурного типа ему выделяется память в таком количестве, чтобы могли разместиться данные всех элементов. Реальный размер памяти в байтах, выделяемый для структуры, можно определить с помощью операцииsizeof(имя_структуры)sizeof(имя_структурного_типа) Доступ к компонентам структуры продемонстрируем с помощью примера. Пример 1. /* Обращение к элементам структуры через имя переменной */ #include <stdio.h> #include <conio.h> void main(void) { struct{ char fio[20]; /* фамилия */ long num; /* телефон */ } tel1, tel2; clrscr(); puts("введите фио абонента-"); gets(tel1.fio); puts("введите его номер-"); scanf("%ld",&tel1.num); tel2=tel1; /* нельзя так же сравнивать структуры */ puts("Введено:"); printf("Фамилия :%s номер: %ld\n",tel2.fio,tel2.num); } Определение функций. Прототипы функций. Каждая программа на языке С – это совокупность функций. Функции – это фундаментальные логические элементы, служащие для выполнения действий, связанных с решением поставленной задачи. Определение функции включает: · Тип значения, возвращаемого функцией (если значение не возвращается, то тип функции – void). · Число и тип формальных параметров. · Код (тело) функции, который должен быть выполнен при вызове функции. Следует различать описание и определение функции. Описание делает возможным доступ к функции (помещает ее в область видимости). Определение задает действия, выполняемые функцией при ее вызове. Действия, выполняемые при обращении к функции, задает ее тело – составной оператор (блок), обязательным элементом которого служат внешние фигурные скобки {}. Имя функции, тип результата, совокупность параметров и их свойства задают заголовок функции. Рассмотрим функции, возвращающие значения целого или вещественного типа. Таким образом, типом результата может быть char, int, long, float, doubleили long double.Могут быть добавленыsignedи unsigned. Если тип результата не указан, то по умолчанию предполагается целый тип int. Допустимы функции, не возвращающие результата. В этом случае для них должен быть использован тип void. Структура стандартного определения функции: тип_результата имя_функции (спецификация_формальных_параметров) { определения объектов; исполняемые операторы; } Спецификация_формальных_параметров – это объединение списка формальных параметров с их спецификацией, т. е. набор идентификаторов с соответствующей спецификацией, отделяемых друг от друга запятыми. Пример функции: double f(int a, float b, double d) { /*тело функции*/} Принципиально важным оператором тела функции является оператор возврата из функции в точку ее вызова: return выражение; или return; Стандарт языка С предусматривает обязательное описание функции со стандартным заголовком с помощью прототипа: тип_результата имя_функции (спецификация_формальных_параметров); Здесь спецификация_формальных_параметров представляет собой список типов и, возможно, имен параметров функции. Отличия прототипа функции от ее заголовка заключаются в следующем: - во-первых, прототип всегда заканчивается признаком конца оператора (символ «;»); - во-вторых, в прототипе могут не указываться имена специфицируемых параметров. Прототип может не использоваться только в том случае, когда определение функции находится в том же файле, где размещена вызывающая ее программа, и это определение помещено выше вызывающей программы. Прототипы приведенных выше функций могут быть такими: float fun1 (int, float); fun2 (int a, int b, float c); void fun3 (int, int, int); |