diff options
Diffstat (limited to 'src/c/pointer-example')
-rw-r--r-- | src/c/pointer-example/pointer_example.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/c/pointer-example/pointer_example.c b/src/c/pointer-example/pointer_example.c new file mode 100644 index 0000000..30d5c61 --- /dev/null +++ b/src/c/pointer-example/pointer_example.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +// Function that tries to change a number without pointer +void noPointerChange(int num) { + num = 100; // Changes local copy only +} + +// Function that changes a number using pointer +void pointerChange(int *numPtr) { + *numPtr = 100; // Changes original value through pointer +} + +int main() { + int value = 50; + + printf("Before noPointerChange: %d\n", value); + noPointerChange(value); + printf("After noPointerChange: %d\n", value); // value unchanged + + printf("Before pointerChange: %d\n", value); + pointerChange(&value); + printf("After pointerChange: %d\n", value); // value changed + + return 0; +} |