data structures using printf("\ the value of num after calling the function % "num)return void add(int nn printf("\ the value of num in the called function % " )output the value of num before calling the function the value of num in the called function the value of num after calling the function following are the points to remember while passing arguments to function using the call-byvalue methodwhen arguments are passed by valuethe called function creates new variables of the same data type as the arguments passed to it the values of the arguments passed by the calling function are copied into the newly created variables values of the variables in the calling functions remain unaffected when the arguments are passed using the call-by-value technique pros and cons the biggest advantage of using the call-by-value technique is that arguments can be passed as variablesliteralsor expressionswhile its main drawback is that copying data consumes additional storage space in additionit can take lot of time to copythereby resulting in performance penaltyespecially if the function is called many times call by reference when the calling function passes arguments to the called function using the call-by-value methodthe only way to return the modified value of the argument to the caller is explicitly using the return statement better option is to pass arguments using the call-by-reference technique in this methodwe declare the function parameters as references rather than normal variables when this is doneany changes made by the function to the arguments it received are also visible in the calling function to indicate that an argument is passed using call by referencean asterisk (*is placed after the type in the parameter list hencein the call-by-reference methoda function receives an implicit reference to the argumentrather than copy of its value thereforethe function can modify the value of the variable and that change will be reflected in the calling function as well the following code illustrates this concept #include void add(int *)int main(int num printf("\ the value of num before calling the function % "num)add(&num)printf("\ the value of num after calling the function % "num)return void add(int *