>>924
ポインタまわりで混乱するかもなw

char buffer[10] = "123";
char *ptr = global_buffer;

void func(char *p) { p[0]++; }
void hoge(void)
{
 func(ptr); /* ptr は buffer の先頭を指している が buffer の中身が変わって "223" になる */
 func(ptr); /* ptr は buffer の先頭を指している が buffer の中身が変わって "323" になる */
}

func は 「ポインタを書き換えている」 のではなく 「ポインタが示している場所の内容」 を書き換えている