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);
}