When you have a variable such as
and you pass it to a function
A copy of the value stored inside var is passed to function. In this case the integer 1.
If instead you were to pass a pointer to var to function
Code:
int var = 1;
int *ptr = &var;
function(ptr);
A copy of the value stored inside ptr is passed to function. In this case the address of var.
So if inside main you had
Code:
printf("%p\n", &var); // could also use ptr
and inside function you had
Code:
printf("%p\n", ptr);
You would see they would print the same addresses which is to be expected.
Hope this helps.