functions and pointer arguments

This is a discussion on functions and pointer arguments within the C++ Programming forums, part of the General Programming Boards category; Ok, i'm a bit confused with passing a pointer to a function e.g.
void change_val(int *var, int val)
{
*var ...

Most text i read say if you want to change the value of a pointer passed to a function you have to declare the parameter as a pointer to a pointer (int **var) and pass the pointer memory address (&p). So how does the above program work?