Передача структур функцій
У цьому розділі розповідається про передачу структур та їх членів функцій.
Передача членів структур функцій
При передачі функції члена структури передається його значення, до того ж не грає ролі те, що значення береться з члена структури. Проаналізуйте, наприклад, наступну структуру:
Наприклад, зверніть увагу, яким чином кожен член цієї структури передається функції:
У кожному з цих випадків функції передається значення певного елемента, і тут не має значення те, що цей елемент є частиною будь-якої більшої сукупності.
Передача цілих структур функцій
Коли в якості аргументу функції використовується структура, то для передачі цілої структури використовується звичайний спосіб виклику за значенням. Це, звичайно, означає, що будь-які зміни у вмісті параметра всередині функції не позначаться на тій структурі, яка передана в якості аргументу.
При використанні структури як аргумент треба пам'ятати, що тип аргументу повинен відповідати типу параметра. Наприклад, в наступній програмі і аргумент arg. і параметр parm оголошуються з одним і тим же типом структури.
Як вже говорилося, при передачі структури тип аргументу повинен збігатися з типом параметра. Для аргументу і параметра недостатньо просто бути фізично схожими; повинні збігатися навіть імена їх типів. Наприклад, наступна версія попередньої програми неправильна і компілюватиметься не буде. Справа в тому, що ім'я типу для аргументу, використовуваного при виконанні функції f1 (). відрізняється від імені типу її параметра.