54. What Is Call By Value In Functions?
Answer: Arguments or parameters can be passed to the functions by call by value. In call by value, the values of the variables are passed to the functions. In this, values of variables are not affected by changing the vale of the formal parameter.
55. What Is Call By Reference In Functions?
Answer: In Call by reference method of passing arguments to functions, the addresses of the variables are passed. In this, values of variables are affected by changing the value of formal parameters.
56. What Is The Difference Between Call By Value & Call By Reference (Or Pass By Value Or Pass By Reference)?
Answer: Call by value means sending the values of the arguments- The value of each of the actual arguments in the calling function is copied into corresponding formal arguments of the called function. The changes made to the formal arguments have no effect on the values of actual arguments in the calling function. This technique of passing arguments is called call by value illustrated by swapv(int x, int y) function in the following example.
Call by reference means sending the addresses of the arguments - the addresses of actual arguments in the calling function are copied into formal arguments of the called function. Using these addresses we are actually working on actual argument so changes will be reflected in the calling function. This technique of passing arguments is called call by reference, illustrated by swapr(int *x,int *y) in following example.
Call by reference passes a pointer to the value. This allows the callee to modify the variable directly. Call by value gives a copy of the value to the callee. This allows the callee to modify the value without modifying the variable. (In other words, the callee simply cannot modify the variable, since it lacks a reference to it.)
57. Can You Pass A Variable Argument List To A Function At Run Time?
Answer: No, we can't. Every actual argument list must be known at compile time. In that sense, it is not truly a variable argument list.
58. Explain The Need For User defined Functions Or The Advantages Of Functions?
Answer: The need for user-defined function:
- A programmer may have a block of code that he has repeated n times throughout the program. A function to execute that code would save a great deal of space, and it would also make the program more readable.
- It is easy to locate and isolate a faulty function. Having only one copy of the code makes it easier to make changes.
- Another reason for functions is to break down a complex program into logical parts. For example, take a menu program that runs complex code when a menu choice is selected. The program would probably best be served by making functions for each of the actual menu choices, and then breaking down the complex tasks into smaller, more manageable tasks, which could be in their own functions.
- In this way, a program can be designed that makes sense when read. And has a structure that is easier to understand quickly. The worst programs usually only have the required function, main, and fill it with pages of jumbled code.
- A function may be used by many other programs. A programmer can use already compiled function instead of starting over from scratch.
59. What Are Function Prototype?
Answer: It is a common practice that all the function programs are written after the main( ) function .when they are accessed in the main program, an error of prototype function is shown by the compiler. It means the computer has no reference about the programmer defined functions, as they are accessed before the definition.
To overcome this, i.e. to make the compiler aware that the declarations of the function referred at the calling point follow, a declaration is done in the beginning of the program immediately after the preprocessor statements. Such a declaration of function is called prototype declaration and the corresponding functions are called function prototypes.
int maximum(int x, int y);
int a, b, c;
scanf(“ % d % d”, & amp; a, & amp; b);
c = maximum(a, b);
printf(“\n maximum number is: % d”, c);
int maximum(int x, int y)
z = (x & gt; = y) ? x : y;
Check Out Other Questions:
41) What is the size of the void pointer in C?
42) What is a nested loop in C?
43) What are the operations performed on C++ lists?
44) How is searching in an array list carried out?
45) Where can an element are inserted in an array list?
46) How is deletion in an array list carried out?
47) What are the advantages of array lists?
48) What are the disadvantages of an array list?
49) What is a linked list in C?
50) What is a node?
...Return To C Questions Index.
...Return To C Programming Index.
... Return To HR Interview Index