>>602
例えば、

void main(void)
{
FILE *fi;
foo(fi)
}

void foo(FILE *fi)
{
fi = fopen("bar", "r");
}

とやってもうまくいかないよ。

void main(void)
{
FILE *fi;
foo(&fi)
}

void foo(FILE **fi)
{
*fi = fopen("bar", "r");
}

としなければならない。それと同じこと。

それからこれは極論になるが、int ***********p; なんてのも作れる。ほとんど
使い道ないけど。