関数に引数でポインタを渡して関数内で引数のアドレスを変更しても
呼び出し側の引数のポインタのアドレスが変更されないのはなぜでしょうか?

void foo(char *c)
{
c++;
return;
}

void main()
{
char c[256];
char *p = c;

foo(p);

}