Основы программирования на языке Си. Кучин Н.В - 69 стр.

UptoLike

Составители: 

69
Переменная типа структуры может быть глобальной, локальной пе-
ременной и формальным параметром. Можно, естественно, использо-
вать структуру или ее поле как любую другую переменную в качестве
параметра функции.
Например:
func1(right.a); или func2(&left.b);
Заметим, что & ставится перед именем структуры, а не перед име-
нем поля. Можно в качестве формального параметра передать по значе-
нию всю структуру
#include <stdio.h>
/* Пример 47 */
struct stru{
int x;
char y;
};
void ff( struct stru param);
main(void)
{
struct stru arg;
arg.x=3;
arg.y=’a’;
ff(arg);
}
void ff(struct stru param)
{
printf(“%d %c\n”,param.x,param.y);
}
Можно также создать указатель на структуру и передавать аргумент
типа структуры по ссылке. Объявить указатель на структуру можно сле-
дующим образом:
struct stru *adr_pointer;
Здесь adr_pointer – переменная указатель на структуру struct stru.
Если структура передается по значению, то все поля структуры заносят-
ся в стек. Если структура простая и содержит мало элементов, то это не так
страшно. Если же структура в качестве своего поля содержит массив, то