Работа с элементами структуры. ввод и вывод переменных типа структура

Работа с элементами типа структура

Доступ к отдельным элементам экземпляра структуры производится с помощью операции – точки (операция доступа к элементам струтуры).

Пример:

struct vuz

{

char fam [25];

char group [10];

int kod;

}

stud1, stud2;

stud 1 fam = “Иванов”;

stud 2 fam = “Сидоров”;

stud 1 group = “ВПб-01-10”;

stud 2 group = “ВПб-02-10”;

stud 1 kod = 050807;

stud 2 kod = 050907;

Ввод и вывод переменных типа структура.

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

Функции. Прототип и определение функции.

Функция — это самостоятельная единица программы, созданная для решения конкретной задачи. Функция в языке С играет ту же роль, что и подпрограммы или процедуры в других языках. Функциями удобно пользоваться, например, если необходимо обработать один и тот же код программы. Как и переменные, функции надо объявлять (declare). Функцию необходимо объявить до её использования.

Основная форма описания (definition) функции имеет вид:

тип (список параметров)

{

тело функции

}

Прототипом функции в языке Си или C++ называется объявление функции, которое не содержит тело функции, но указывает имя функции, арность, типы аргументов и возвращаемый тип данных. В то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.

В прототипе имена аргументов являются необязательными, тем не менее, необходимо указывать тип вместе со всеми модификаторами (например, указатель ли это или константный аргумент).

В качестве примера, рассмотрим следующий прототип функции:

intmyFunction(int n);

Объявление функции называется прототипом функции.

В прототипе функции (в C++ прототип обязателен) должны присутствовать:

— имя функции;

— типы и число формальных параметров;

— тип возвращаемого значения.

Формат прототипа тот же, что и у определения функции, но прототип не имеет:

— тела функции;

— заголовок оканчивается точкой с запятой.

Вызов функции. Способы передачи параметров.

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

Вычисляются выражения в списке фактических аргументов. Затем, если известен прототип функции, тип полученного фактического параметра сравнивается с типом соответствующего формального параметра. Если они не совпадают, то либо производится преобразование типов, либо формируется сообщение об ошибке. Число выражений в списке фактических аргументов должно совпадать с числом формальных параметров, если только функция не имеет переменного числа параметров. В последнем случае проверке подлежат только обязательные параметры. Если в прототипе функции указано, что ей не требуются параметры, а при вызове они указаны, формируется сообщение об ошибке. Происходит присваивание значений или адресов фактических аргументов соответствующим формальным параметрам. Управление передается на первый оператор функции. Выполняются действия, указанные в теле функции. Выполнение оператора return в теле функции возвращает управление и вычисленное значение в вызывающую функцию. При отсутствии оператора return управление возвращается после выполнения последнего оператора тела функции, а возвращаемое значение не определено.

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

Внутри функции могут быть объявлены переменные, как, например, переменные p и i в функции power. Такие переменные называются локальными и они определены только внутри этой функции. Переменные, определенные вне тела любой функции (ранее мы такие переменные вообще не рассматривали) называются глобальными и они определены всюду начиная с места определения и до конца файла. Глобальными переменными можно пользоваться во всех функциях, но с современной точки зрения использовать глобальные переменные рекомендуется как можно реже. Локальные переменные создаются каждый раз при входе в функцию и уничтожаются при выходе из нее. Таким образом, значения, сохраненные в локальных переменных, пропадут после завершения работы функции. В различных функциях можно определять переменные с одним и тем же именем. Это будут различные переменные. Также можно объявлять в функциях переменные, имена которых совпадают с именами глобальных переменных. Тогда будет создана новая локальная переменная, а изменить значение глобальной переменной с таким именем будет невозможно.

Программирование на Си урок 34: Структуры в языке Си


Похожие статьи.

Понравилась статья? Поделиться с друзьями: