Write a function void doubleValue(int* ptr) that doubles the value at the address ptr points to. Inside the function, you'll dereference ptr, multiply by 2, and store back. The function body is just one line: *ptr = *ptr * 2 or *ptr *= 2.
Call it with an integer: int x = 5; doubleValue(&x);. After the call, x should equal 10. This demonstrates indirect modification through pointers. The function doesn't know the variable's name (x), it only knows the address.
This pattern appears constantly in C and C++ code, so understanding it now pays off later.