以下は、バイナリ ツリーでの変換を含むコードのコード スニペットです。
void fixPrevPtr(struct node *root)
{
static struct node *pre = NULL;
if (root != NULL)
{
fixPrevPtr(root->left);
root->left = pre;
pre = root;
fixPrevPtr(root->right);
}
}
ここで、 'pre'はすべての関数で NULL として初期化されます。しかし、関数が'if'句 に入ってroot->left=preが実行されると、割り当てられていた pre は NULL ではありませんでした。関数fixPrevPtr(root->left)によって何らかの形で変更されました。
私の質問は、関数に渡されることなくどのように変更されるのかということです。
前もって感謝します。