Passing Pointers
Passing Pointers

#include <stdio.h> int F (int *a, int b); void G (int *b); main() { int a, b, c; int *aPtr, *bPtr; a = 1; b = 2; c = 3; aPtr = &a; printf("init: a = %d, b = %d, c= %d\n", a, b, c); G(&c); c = F(aPtr, b); printf("main: a = %d, b = %d, c= %d\n", a, b, c); } int F (int *ptr, int some) { int thing; thing = 2 * *ptr + 5; G(ptr); printf("F: *ptr = %d, some = %d, thing = %d\n", *ptr, some, thing); return(thing); } void G (int *ptr) { int a, b; b = *ptr + 7; *ptr = 4 * b; a = b - 2; printf("G: a = %d, *ptr = %d, b = %d\n", a, *ptr, b); return; }

Hopefully, I will get the commented version up later this week.

Output:

init: a = 1, b = 2, c= 3 G: a = 8, *ptr = 40, b = 10 G: a = 6, *ptr = 32, b = 8 F: *ptr = 32, some = 2, thing = 7 main: a = 32, b = 2, c= 7


Main Page