void foo(const int *p);
void foo(int* const p);
の違いが判ってればいいんじゃないでしょーか