C Programming in Linux Tutorial using GCC compiler. Tutorial should also be applicable in C/UNIX programming. An example of what happens when a struct is passed to a function as by value and as by reference. Passing a struct to a function will make a copy of that structure and will not modify the original structure. However, passing by reference, the values of the structure can be change in the called function since we are passing the address of that structure.