liveBook · Manning

Structure parameter

As explained in Modern C

A structure parameter is a function parameter whose structure value is passed by value in C.

A structure parameter receives a copy of the structure value. A function can change that parameter’s members, but those changes do not alter the caller’s original object. section 6.3

Compute a day-of-year value

In `struct tm time_set_yday(struct tm t)`, the function updates `t.tm_yday`, accounts for leap years, and returns the modified structure. The caller must write `today = time_set_yday(today);` to retain the result. Passing the structure does not provide an in-place update. section 6.3

Listing 6.3. A sample program manipulating struct tm
 1   #include <time.h>
 2   #include <stdbool.h>
 3   #include <stdio.h>
 4
 5   bool leapyear(unsigned year) {
 6     /* All years that are divisible by 4 are leap years, 
 7        unless they start a new century, provided they 
 8        are not divisible by 400. */ 
 9     return !(year % 4) && ((year % 100) || !(year % 400));
10   }
11
12   #define DAYS_BEFORE                             \
13   (int const[12]){                                \
14     [0] = 0, [1] = 31, [2] = 59, [3] = 90,        \
15     [4] = 120, [5] = 151, [6] = 181, [7] = 212,   \
16     [8] = 243, [9] = 273, [10] = 304, [11] = 334, \
17   }
18
19   struct tm time_set_yday(struct tm t) {
20     // tm_mdays starts at 1. 
21     t.tm_yday += DAYS_BEFORE[t.tm_mon] + t.tm_mday - 1;
22     // Takes care of leap years 
23     if ((t.tm_mon > 1) && leapyear(t.tm_year+1900))
24       ++t.tm_yday;
25     return t;
26   }
27
28   int main(void) {
29     struct tm today = {
30       .tm_year = 2019-1900,
31       .tm_mon  = 4-1,
32       .tm_mday = 3,
33       .tm_hour = 10,
34       .tm_min  = 0,
35       .tm_sec  = 47,
36     };
37     printf("this year is %d, next year will be %d\n",
38            today.tm_year+1900, today.tm_year+1900+1);
39     today = time_set_yday(today);
40     printf("day of the year is %d\n", today.tm_yday);
41   }


!@%STYLE%@!
{"css":"{\"css\": \"font-weight: bold;\"}","target":"[[{\"line\":0,\"ch\":1},{\"line\":0,\"ch\":2}],[{\"line\":8,\"ch\":38},{\"line\":8,\"ch\":39}],[{\"line\":9,\"ch\":0},{\"line\":9,\"ch\":1}],[{\"line\":10,\"ch\":0},{\"line\":10,\"ch\":1}],[{\"line\":11,\"ch\":0},{\"line\":11,\"ch\":1}],[{\"line\":12,\"ch\":0},{\"line\":12,\"ch\":1}],[{\"line\":13,\"ch\":0},{\"line\":13,\"ch\":1}],[{\"line\":14,\"ch\":0},{\"line\":14,\"ch\":1}],[{\"line\":15,\"ch\":0},{\"line\":15,\"ch\":1}],[{\"line\":16,\"ch\":0},{\"line\":16,\"ch\":1}],[{\"line\":17,\"ch\":0},{\"line\":17,\"ch\":1}],[{\"line\":18,\"ch\":0},{\"line\":18,\"ch\":1}],[{\"line\":19,\"ch\":29},{\"line\":19,\"ch\":30}],[{\"line\":20,\"ch\":1},{\"line\":20,\"ch\":2}],[{\"line\":22,\"ch\":23},{\"line\":22,\"ch\":24}],[{\"line\":29,\"ch\":22},{\"line\":29,\"ch\":23}],[{\"line\":30,\"ch\":1},{\"line\":30,\"ch\":2}],[{\"line\":32,\"ch\":20},{\"line\":32,\"ch\":21}],[{\"line\":37,\"ch\":28},{\"line\":37,\"ch\":29}],[{\"line\":40,\"ch\":1},{\"line\":40,\"ch\":2}],[{\"line\":0,\"ch\":5},{\"line\":0,\"ch\":13}],[{\"line\":1,\"ch\":5},{\"line\":1,\"ch\":13}],[{\"line\":2,\"ch\":5},{\"line\":2,\"ch\":13}],[{\"line\":0,\"ch\":15},{\"line\":0,\"ch\":19}],[{\"line\":18,\"ch\":15},{\"line\":18,\"ch\":19}],[{\"line\":38,\"ch\":15},{\"line\":38,\"ch\":19}],[{\"line\":1,\"ch\":1},{\"line\":1,\"ch\":2}],[{\"line\":11,\"ch\":1},{\"line\":11,\"ch\":2}],[{\"line\":12,\"ch\":17},{\"line\":12,\"ch\":18}],[{\"line\":13,\"ch\":27},{\"line\":13,\"ch\":28}],[{\"line\":14,\"ch\":14},{\"line\":14,\"ch\":15}],[{\"line\":15,\"ch\":13},{\"line\":15,\"ch\":14}],[{\"line\":19,\"ch\":0},{\"line\":19,\"ch\":1}],[{\"line\":20,\"ch\":0},{\"line\":20,\"ch\":1}],[{\"line\":21,\"ch\":0},{\"line\":21,\"ch\":1}],[{\"line\":22,\"ch\":0},{\"line\":22,\"ch\":1}],[{\"line\":23,\"ch\":0},{\"line\":23,\"ch\":1}],[{\"line\":24,\"ch\":0},{\"line\":24,\"ch\":1}],[{\"line\":25,\"ch\":0},{\"line\":25,\"ch\":1}],[{\"line\":26,\"ch\":0},{\"line\":26,\"ch\":1}],[{\"line\":27,\"ch\":0},{\"line\":27,\"ch\":1}],[{\"line\":28,\"ch\":0},{\"line\":28,\"ch\":1}],[{\"line\":29,\"ch\":20},{\"line\":29,\"ch\":21}],[{\"line\":31,\"ch\":1},{\"line\":31,\"ch\":2}],[{\"line\":0,\"ch\":5},{\"line\":0,\"ch\":13}],[{\"line\":1,\"ch\":5},{\"line\":1,\"ch\":13}],[{\"line\":2,\"ch\":5},{\"line\":2,\"ch\":13}],[{\"line\":2,\"ch\":1},{\"line\":2,\"ch\":2}],[{\"line\":12,\"ch\":1},{\"line\":12,\"ch\":2}],[{\"line\":13,\"ch\":22},{\"line\":13,\"ch\":23}],[{\"line\":15,\"ch\":15},{\"line\":15,\"ch\":16}],[{\"line\":22,\"ch\":1},{\"line\":22,\"ch\":2}],[{\"line\":29,\"ch\":0},{\"line\":29,\"ch\":1}],[{\"line\":30,\"ch\":0},{\"line\":30,\"ch\":1}],[{\"line\":31,\"ch\":0},{\"line\":31,\"ch\":1}],[{\"line\":32,\"ch\":0},{\"line\":32,\"ch\":1}],[{\"line\":33,\"ch\":0},{\"line\":33,\"ch\":1}],[{\"line\":34,\"ch\":0},{\"line\":34,\"ch\":1}],[{\"line\":35,\"ch\":0},{\"line\":35,\"ch\":1}],[{\"line\":36,\"ch\":0},{\"line\":36,\"ch\":1}],[{\"line\":37,\"ch\":0},{\"line\":37,\"ch\":1}],[{\"line\":38,\"ch\":0},{\"line\":38,\"ch\":1}],[{\"line\":0,\"ch\":5},{\"line\":0,\"ch\":13}],[{\"line\":1,\"ch\":5},{\"line\":1,\"ch\":13}],[{\"line\":2,\"ch\":5},{\"line\":2,\"ch\":13}],[{\"line\":3,\"ch\":1},{\"line\":3,\"ch\":2}],[{\"line\":5,\"ch\":42},{\"line\":5,\"ch\":43}],[{\"line\":7,\"ch\":31},{\"line\":7,\"ch\":32}],[{\"line\":8,\"ch\":23},{\"line\":8,\"ch\":24}],[{\"line\":13,\"ch\":1},{\"line\":13,\"ch\":2}],[{\"line\":14,\"ch\":8},{\"line\":14,\"ch\":9}],[{\"line\":15,\"ch\":14},{\"line\":15,\"ch\":15}],[{\"line\":23,\"ch\":1},{\"line\":23,\"ch\":2}],[{\"line\":30,\"ch\":20},{\"line\":30,\"ch\":21}],[{\"line\":33,\"ch\":1},{\"line\":33,\"ch\":2}],[{\"line\":34,\"ch\":20},{\"line\":34,\"ch\":21}],[{\"line\":39,\"ch\":0},{\"line\":39,\"ch\":1}],[{\"line\":40,\"ch\":0},{\"line\":40,\"ch\":1}],[{\"line\":4,\"ch\":1},{\"line\":4,\"ch\":2}],[{\"line\":13,\"ch\":32},{\"line\":13,\"ch\":33}],[{\"line\":14,\"ch\":1},{\"line\":14,\"ch\":2}],[{\"line\":24,\"ch\":1},{\"line\":24,\"ch\":2}],[{\"line\":34,\"ch\":1},{\"line\":34,\"ch\":2}],[{\"line\":4,\"ch\":19},{\"line\":4,\"ch\":27}],[{\"line\":5,\"ch\":1},{\"line\":5,\"ch\":2}],[{\"line\":14,\"ch\":30},{\"line\":14,\"ch\":31}],[{\"line\":15,\"ch\":1},{\"line\":15,\"ch\":2}],[{\"line\":25,\"ch\":1},{\"line\":25,\"ch\":2}],[{\"line\":35,\"ch\":1},{\"line\":35,\"ch\":2}],[{\"line\":6,\"ch\":1},{\"line\":6,\"ch\":2}],[{\"line\":14,\"ch\":41},{\"line\":14,\"ch\":42}],[{\"line\":15,\"ch\":25},{\"line\":15,\"ch\":26}],[{\"line\":16,\"ch\":1},{\"line\":16,\"ch\":2}],[{\"line\":26,\"ch\":1},{\"line\":26,\"ch\":2}],[{\"line\":34,\"ch\":21},{\"line\":34,\"ch\":22}],[{\"line\":36,\"ch\":1},{\"line\":36,\"ch\":2}],[{\"line\":7,\"ch\":1},{\"line\":7,\"ch\":2}],[{\"line\":14,\"ch\":36},{\"line\":14,\"ch\":37}],[{\"line\":15,\"ch\":8},{\"line\":15,\"ch\":9}],[{\"line\":17,\"ch\":1},{\"line\":17,\"ch\":2}],[{\"line\":27,\"ch\":1},{\"line\":27,\"ch\":2}],[{\"line\":37,\"ch\":1},{\"line\":37,\"ch\":2}],[{\"line\":8,\"ch\":1},{\"line\":8,\"ch\":2}],[{\"line\":13,\"ch\":33},{\"line\":13,\"ch\":34}],[{\"line\":15,\"ch\":19},{\"line\":15,\"ch\":20}],[{\"line\":18,\"ch\":1},{\"line\":18,\"ch\":2}],[{\"line\":22,\"ch\":49},{\"line\":22,\"ch\":50}],[{\"line\":28,\"ch\":1},{\"line\":28,\"ch\":2}],[{\"line\":29,\"ch\":23},{\"line\":29,\"ch\":24}],[{\"line\":37,\"ch\":29},{\"line\":37,\"ch\":30}],[{\"line\":38,\"ch\":1},{\"line\":38,\"ch\":2}],[{\"line\":8,\"ch\":7},{\"line\":8,\"ch\":13}],[{\"line\":24,\"ch\":7},{\"line\":24,\"ch\":13}],[{\"line\":8,\"ch\":38},{\"line\":8,\"ch\":40}],[{\"line\":9,\"ch\":0},{\"line\":9,\"ch\":2}],[{\"line\":15,\"ch\":30},{\"line\":15,\"ch\":32}],[{\"line\":32,\"ch\":20},{\"line\":32,\"ch\":22}],[{\"line\":10,\"ch\":0},{\"line\":10,\"ch\":2}],[{\"line\":15,\"ch\":42},{\"line\":15,\"ch\":44}],[{\"line\":11,\"ch\":0},{\"line\":11,\"ch\":2}],[{\"line\":12,\"ch\":16},{\"line\":12,\"ch\":18}],[{\"line\":14,\"ch\":13},{\"line\":14,\"ch\":15}],[{\"line\":11,\"ch\":5},{\"line\":11,\"ch\":12}],[{\"line\":12,\"ch\":0},{\"line\":12,\"ch\":2}],[{\"line\":12,\"ch\":6},{\"line\":12,\"ch\":15}],[{\"line\":13,\"ch\":0},{\"line\":13,\"ch\":2}],[{\"line\":14,\"ch\":0},{\"line\":14,\"ch\":2}],[{\"line\":15,\"ch\":0},{\"line\":15,\"ch\":2}],[{\"line\":16,\"ch\":0},{\"line\":16,\"ch\":2}],[{\"line\":14,\"ch\":35},{\"line\":14,\"ch\":37}],[{\"line\":17,\"ch\":0},{\"line\":17,\"ch\":2}],[{\"line\":18,\"ch\":0},{\"line\":18,\"ch\":2}],[{\"line\":22,\"ch\":48},{\"line\":22,\"ch\":50}],[{\"line\":29,\"ch\":22},{\"line\":29,\"ch\":24}],[{\"line\":37,\"ch\":28},{\"line\":37,\"ch\":30}],[{\"line\":18,\"ch\":5},{\"line\":18,\"ch\":11}],[{\"line\":28,\"ch\":7},{\"line\":28,\"ch\":13}],[{\"line\":18,\"ch\":12},{\"line\":18,\"ch\":14}],[{\"line\":19,\"ch\":10},{\"line\":19,\"ch\":12}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":11}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":15}],[{\"line\":28,\"ch\":14},{\"line\":28,\"ch\":16}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":12}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":12}],[{\"line\":31,\"ch\":10},{\"line\":31,\"ch\":12}],[{\"line\":32,\"ch\":10},{\"line\":32,\"ch\":12}],[{\"line\":33,\"ch\":10},{\"line\":33,\"ch\":12}],[{\"line\":34,\"ch\":10},{\"line\":34,\"ch\":12}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":22}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":49}],[{\"line\":18,\"ch\":5},{\"line\":18,\"ch\":11}],[{\"line\":28,\"ch\":7},{\"line\":28,\"ch\":13}],[{\"line\":18,\"ch\":12},{\"line\":18,\"ch\":14}],[{\"line\":19,\"ch\":10},{\"line\":19,\"ch\":12}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":11}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":15}],[{\"line\":28,\"ch\":14},{\"line\":28,\"ch\":16}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":12}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":12}],[{\"line\":31,\"ch\":10},{\"line\":31,\"ch\":12}],[{\"line\":32,\"ch\":10},{\"line\":32,\"ch\":12}],[{\"line\":33,\"ch\":10},{\"line\":33,\"ch\":12}],[{\"line\":34,\"ch\":10},{\"line\":34,\"ch\":12}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":22}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":49}],[{\"line\":14,\"ch\":14},{\"line\":14,\"ch\":16}],[{\"line\":19,\"ch\":0},{\"line\":19,\"ch\":2}],[{\"line\":29,\"ch\":20},{\"line\":29,\"ch\":22}],[{\"line\":14,\"ch\":46},{\"line\":14,\"ch\":48}],[{\"line\":20,\"ch\":0},{\"line\":20,\"ch\":2}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":20}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":54}],[{\"line\":20,\"ch\":34},{\"line\":20,\"ch\":40}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":16}],[{\"line\":19,\"ch\":10},{\"line\":19,\"ch\":17}],[{\"line\":20,\"ch\":46},{\"line\":20,\"ch\":53}],[{\"line\":31,\"ch\":10},{\"line\":31,\"ch\":17}],[{\"line\":21,\"ch\":0},{\"line\":21,\"ch\":2}],[{\"line\":22,\"ch\":0},{\"line\":22,\"ch\":2}],[{\"line\":22,\"ch\":7},{\"line\":22,\"ch\":9}],[{\"line\":20,\"ch\":34},{\"line\":20,\"ch\":40}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":16}],[{\"line\":22,\"ch\":40},{\"line\":22,\"ch\":47}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":17}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":27}],[{\"line\":15,\"ch\":13},{\"line\":15,\"ch\":15}],[{\"line\":23,\"ch\":0},{\"line\":23,\"ch\":2}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":20}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":54}],[{\"line\":24,\"ch\":0},{\"line\":24,\"ch\":2}],[{\"line\":8,\"ch\":7},{\"line\":8,\"ch\":13}],[{\"line\":24,\"ch\":7},{\"line\":24,\"ch\":13}],[{\"line\":25,\"ch\":0},{\"line\":25,\"ch\":2}],[{\"line\":15,\"ch\":24},{\"line\":15,\"ch\":26}],[{\"line\":26,\"ch\":0},{\"line\":26,\"ch\":2}],[{\"line\":27,\"ch\":0},{\"line\":27,\"ch\":2}],[{\"line\":12,\"ch\":6},{\"line\":12,\"ch\":9}],[{\"line\":27,\"ch\":5},{\"line\":27,\"ch\":8}],[{\"line\":36,\"ch\":9},{\"line\":36,\"ch\":12}],[{\"line\":39,\"ch\":9},{\"line\":39,\"ch\":12}],[{\"line\":27,\"ch\":9},{\"line\":27,\"ch\":13}],[{\"line\":27,\"ch\":14},{\"line\":27,\"ch\":18}],[{\"line\":28,\"ch\":0},{\"line\":28,\"ch\":2}],[{\"line\":18,\"ch\":5},{\"line\":18,\"ch\":11}],[{\"line\":28,\"ch\":7},{\"line\":28,\"ch\":13}],[{\"line\":18,\"ch\":12},{\"line\":18,\"ch\":14}],[{\"line\":19,\"ch\":10},{\"line\":19,\"ch\":12}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":11}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":15}],[{\"line\":28,\"ch\":14},{\"line\":28,\"ch\":16}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":12}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":12}],[{\"line\":31,\"ch\":10},{\"line\":31,\"ch\":12}],[{\"line\":32,\"ch\":10},{\"line\":32,\"ch\":12}],[{\"line\":33,\"ch\":10},{\"line\":33,\"ch\":12}],[{\"line\":34,\"ch\":10},{\"line\":34,\"ch\":12}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":22}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":49}],[{\"line\":15,\"ch\":36},{\"line\":15,\"ch\":38}],[{\"line\":29,\"ch\":0},{\"line\":29,\"ch\":2}],[{\"line\":22,\"ch\":40},{\"line\":22,\"ch\":47}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":17}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":27}],[{\"line\":13,\"ch\":22},{\"line\":13,\"ch\":24}],[{\"line\":30,\"ch\":0},{\"line\":30,\"ch\":2}],[{\"line\":20,\"ch\":34},{\"line\":20,\"ch\":40}],[{\"line\":22,\"ch\":14},{\"line\":22,\"ch\":20}],[{\"line\":30,\"ch\":10},{\"line\":30,\"ch\":16}],[{\"line\":31,\"ch\":0},{\"line\":31,\"ch\":2}],[{\"line\":19,\"ch\":10},{\"line\":19,\"ch\":17}],[{\"line\":20,\"ch\":46},{\"line\":20,\"ch\":53}],[{\"line\":31,\"ch\":10},{\"line\":31,\"ch\":17}],[{\"line\":15,\"ch\":48},{\"line\":15,\"ch\":50}],[{\"line\":32,\"ch\":0},{\"line\":32,\"ch\":2}],[{\"line\":32,\"ch\":10},{\"line\":32,\"ch\":17}],[{\"line\":15,\"ch\":49},{\"line\":15,\"ch\":51}],[{\"line\":33,\"ch\":0},{\"line\":33,\"ch\":2}],[{\"line\":33,\"ch\":10},{\"line\":33,\"ch\":16}],[{\"line\":34,\"ch\":0},{\"line\":34,\"ch\":2}],[{\"line\":34,\"ch\":10},{\"line\":34,\"ch\":16}],[{\"line\":35,\"ch\":0},{\"line\":35,\"ch\":2}],[{\"line\":36,\"ch\":0},{\"line\":36,\"ch\":2}],[{\"line\":36,\"ch\":7},{\"line\":36,\"ch\":13}],[{\"line\":39,\"ch\":7},{\"line\":39,\"ch\":13}],[{\"line\":37,\"ch\":0},{\"line\":37,\"ch\":2}],[{\"line\":22,\"ch\":40},{\"line\":22,\"ch\":47}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":17}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":27}],[{\"line\":22,\"ch\":40},{\"line\":22,\"ch\":47}],[{\"line\":29,\"ch\":10},{\"line\":29,\"ch\":17}],[{\"line\":37,\"ch\":20},{\"line\":37,\"ch\":27}],[{\"line\":38,\"ch\":0},{\"line\":38,\"ch\":2}],[{\"line\":7,\"ch\":31},{\"line\":7,\"ch\":33}],[{\"line\":8,\"ch\":55},{\"line\":8,\"ch\":57}],[{\"line\":39,\"ch\":0},{\"line\":39,\"ch\":2}],[{\"line\":36,\"ch\":7},{\"line\":36,\"ch\":13}],[{\"line\":39,\"ch\":7},{\"line\":39,\"ch\":13}],[{\"line\":20,\"ch\":9},{\"line\":20,\"ch\":16}],[{\"line\":23,\"ch\":13},{\"line\":23,\"ch\":20}],[{\"line\":39,\"ch\":47},{\"line\":39,\"ch\":54}],[{\"line\":40,\"ch\":0},{\"line\":40,\"ch\":2}]]"}
!@%STYLE%@!

Inspect the complete `struct tm` program, including the structure parameter, its member updates, return value, and caller-side reassignment. section 6.3

TAKEAWAY

  • Use the returned structure when a function changes a structure parameter. section 6.3
  • Structure values support assignment with `=`, but not comparison with `==` or `!=`. section 6.3

How Modern C covers it

How deep it goes
Explains pass-by-value behavior through a complete `struct tm` function and caller reassignment, while deferring pointer-based updates.
Examples
Demonstrates `struct tm time_set_yday`, leap-year handling, member mutation, and caller-side result reassignment.
What it assumes
Assumes structure declarations and member access, while teaching the pass-by-value consequence for structure parameters directly.
What you can do after
Apply structure parameters in C functions and preserve changes by returning and reassigning the modified structure.
How it connects
Connects structure parameters with structure assignment, pointer types, structure initialization, and structure layout.

This explainer was generated by Manning's knowledge graph from the text of Modern C. The section links point to the parts of the book it draws on.