summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/struct3.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/EXAMPLES/struct3.c')
-rw-r--r--reference/C/EXAMPLES/struct3.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/struct3.c b/reference/C/EXAMPLES/struct3.c
new file mode 100644
index 0000000..f40e7ba
--- /dev/null
+++ b/reference/C/EXAMPLES/struct3.c
@@ -0,0 +1,45 @@
+/************************************************************************
+ *
+ * Purpose: Passing a copy of a structure to a function.
+ * Author: M.J. Leslie
+ * Date: 13-Jun-94
+ *
+ ************************************************************************/
+
+#include <stdio.h>
+ /* Declare a structure. It MUST
+ * be declared before its use in
+ * function declarations.
+ */
+struct record_format { char name[20]; int age;};
+
+void display(struct record_format); /* function declaration */
+
+/************************************************************************/
+
+main ()
+{
+ struct record_format record;
+
+ strcpy(record.name, "Joe Brown");
+ record.age = 21;
+
+ display (record);
+
+ /*
+ * Print the contents of the structure.
+ * The original value of record.age has been
+ * retained.
+ */
+ printf("name is %s \nage is %d \n", record.name, record.age);
+
+}
+
+/************************************************************************/
+
+void display(struct record_format rec)
+{
+ printf("name is %s \nage is %d \n", rec.name, rec.age);
+ rec.age=31; /* change the value of a structure
+ * member. */
+}