How come only when its passed by reference does the value of age change? why doesn't it work when passed by value?
    #include<stdio.h>
struct employee{
char name[20];
int age;
};
void modify_byVal(struct employee v){
    v.age=v.age+2;
    }
    void modify_byRef(struct employee *p){
 p ->age=p->age+2;
 }
 void main(){
     struct employee Sam = {"Sam", 35};
     struct employee Mary = {"Mary", 25};
     modify_byVal(Sam);
     modify_byRef(&Mary);
     printf("%s %d", Sam.name, Sam.age);
     printf(" ");
     printf("%s %d", Mary.name, Mary.age);
     }
 
     
    