Introduction to functions in C
Syntax
Void functions
Call by Value and call by
reference
Swap example
Reference parameter technique
Const
Bigger pointer example
HOME
|
|
C passes parameters "by
value" which means that the actual parameter values are copied
into local storage. The caller and callee functions do not share any memory
-- they each
have their own copy. This scheme is fine for many purposes, but it has two
disadvantages.
1) Because the callee has its own copy, modifications to that memory
are not communicated back to the caller. Therefore, value parameters do not
allow the callee
to communicate back to the caller. The function's return value can
communicate some information back to the caller, but not all problems can be
solved with the single
return value.
2) Sometimes it is undesirable to copy the value from the caller to
the callee because the
value is large and so copying it is expensive, or because at a conceptual
level copying
the value is undesirable.
The alternative is to pass the arguments "by reference". Instead of passing
a copy of a value from the caller to the callee, pass a pointer to the
value. In this way there is only one copy of the value at any time, and the
caller and callee both access that one value through pointers.
Some languages support reference parameters automatically. C does not do
this -- the programmer must implement reference parameters manually using
the existing pointer constructs in the language.
Want To Know more with
Video ???
Contact for more learning: webmaster@freehost7com
|
|
|