Використання структур. Використання об’єднань
3. Передача структур у функції
Структури можуть передаватися функціям шляхом передачі окремих елементів структури, передачі всієї структури або передачі покажчика на структуру. Коли структури або їхні окремі елементи передаються функціям, вони передаються викликом за значенням. Тому функція, яку викликають, не може змінювати елементи структури у функції, що викликає.
Масиви структур, як і інші структури, викликаються за посиланням. Але, використовуючи структуру, в якій як елемент є масив, можна здійснити виклик масиву за значенням. Викликаючи структуру за значенням, ми і масив викликаємо за значенням.
Приклад програми , яка дозволяє визначити будь-яке комплексне число та вивести це число.
#include <conio.h>
#include <stdio.h>
#include <math.h>
//Створення структури number
typedef struct {
int x;
} number;
//Створення структури complex
typedef struct {
number realValue;
number imagValue;
} complex;
void setComplex (complex *);
void printComplex (complex *);
int main () {
complex dataValue;
printf("Complex number?\n");
setComplex(&dataValue);
printf("Reprezentation of the complex number:\n");
printComplex(&dataValue);
getch();
return 0;
}
//Встановлення значення комплексного числа
void setComplex(complex *c) {
printf("Real part:\n");
scanf("%d", &(c->realValue.x));
printf( "Image part:\n");
scanf("%d", &(c->imagValue.x));
}
//Виведення комплексного числа
void printComplex(complex *c) {
printf("%4d", c->realValue.x);
printf("%c",(c->imagValue.x < 0 ? '-' : '+'));
printf("%4di", abs(c->imagValue.x));
}

Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу