#include #include using namespace std; int silly=333,*sillyPtr=(&silly); int mod(int a,int &b,int *c,int** &f) { int work=a+b+(*c)+(**f); a=111; // No change, since passed by value b=222; // Change, since passed by reference c=sillyPtr; // No change, since passed by value f=(&sillyPtr); // Change, since passed by reference return work; } //void mod(array h,const array &i) { void mod(array h,array &i) { h[0]=1111; i[0]=11111; } typedef struct { int a,b; } st; void mod(st c) { c.a=4321; } void mod2(st &c) { c.a=543; } int main() { int a=1,b=2,c=3,d=4,*e,**f,g; e= &d; f= &e; cout<<"a: "< h={11,22,33}; array i={111,222,333}; mod(h,i); cout<<"h[0]: "<