Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. // Copies a BMP file
  2.  
  3. #include <stdio.h>
  4. #include <stdbool.h>
  5.  
  6. struct student {
  7. int age;
  8. bool enrolled;
  9. char *student_name;
  10. };
  11.  
  12. void test_struct(struct student);
  13. void print_student(struct student);
  14.  
  15. int main(int argc, char *argv[])
  16. {
  17. struct student mike;
  18.  
  19. mike.student_name = "Mike";
  20. mike.age = 19;
  21. mike.enrolled = false;
  22.  
  23. print_student(mike); // $ Mike, 19, not enrolled
  24. test_struct(mike); // $ We pass the struct by value and change it.
  25. print_student(mike); // $ Mike, 19, not enrolled -- the changes we made in `test_struct` are forgotten
  26.  
  27. return 0;
  28. }
  29.  
  30. void test_struct(struct student s)
  31. {
  32. s.student_name = "James";
  33. s.age = 25;
  34. s.enrolled = true;
  35.  
  36. print_student(s); // $ James, 25, enrolled
  37. }
  38.  
  39. void print_student(struct student s)
  40. {
  41. printf("%s, %i, %s\n", s.student_name, s.age, s.enrolled ? "enrolled" : "not enrolled");
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement