Saturday 14 November 2015

Passing points or by reference in C - Stackoverflow

Another great set of observations about pointers in C.

"
To elaborate a little more. Whatever you pass as an argument to c functions, it is passed by values only. Whether it be a variable's value or the variable address.
What makes the difference is what you are sending.
When we pass-by-value we are passing the value of the variable to a function. When we pass-by-reference we are passing an alias of the variable to a function. C can pass a pointer into a function but that is still pass-by-value. It is copying the value of the pointer, the address, into the function.

  • If you are sending the value of a variable, then only the value will be received by the function, and changing that won't effect the original value.
  • If you are sending the address of a variable, then also only the value(the address in this case) is sent, but since you have the address of a variable it can be used to change the original value.
"

No comments:

Post a Comment