diff --git a/pass_value/main.c b/pass_value/main.c new file mode 100644 index 0000000..a939773 --- /dev/null +++ b/pass_value/main.c @@ -0,0 +1,40 @@ +#include + + +void add_one(int *x); + +int main(void){ + + int j; + int *p; + int k; + + + j = 5; + + /* Pointer "p" is pointing to address "j" */ + p =&j; + /* Set k to the value of p + * the '*' is the dereference operater + * this means the value that p is pointing to + * instead of the pointer itself*/ + k = *p; + printf("%d\n", *p); + printf("This is k: %d\n", k); + + /*Here we pass the address of j to the function */ + add_one(p); + + /*Or don't use any pointers + * add_one(&j); + * + * here we pass by address value + */ + + printf("%d\n", *p); + return 0; +} + +void add_one(int *x){ + *x = *x+1; +}