Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структуры и функции



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

Рассмотрим все перечисленные варианты для случая:

struct person {char name[10]; int age;} str;

Ø функция возвращает структуру как результат: struct person fun (int N);

Ø функция возвращает указатель на структуру: struct person * fun (void);

Ø параметр функции – структура: void fun (struct person str);

Ø параметр функции – указатель на структуру: void fun (struct person*ptrr);

Ø параметр функции – элемент структуры: void fun (int str.age);

Ø параметр функции – указатель на элемент структуры: void fun (char *str.name);

Пример использования указателя на структуру в качестве аргумента функции.

struc books { char name[20];

char title[40];

int year;

float price; };

void exemple(struc books *ptr);

main()

{ struc books ret;

exemple(&ret);

printf("%-20s %-20s Год изд. %d, Цена - %5.2 f руб.\n", ret.name, ret.titel, ret.year,ret.price);

}

void exemple(struc books *ptr)

{ strcpy(ptr->name, “Толстой Л.Н.“);

strcpy(ptr->title, “Крейцерова соната“);

ptr->year=2010;

ptr->price=145.99;

}

Результат: Толстой Л.Н. Крейцерова соната Год изд. 2010, Цена – 145.99 руб.






Дата публикования: 2015-02-22; Прочитано: 151 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...