補足すると
funcB(pState);
funcA(pState);
にかえると動作が異なるからキミの言い分だと常態を共有しているということだね

さらに最悪なことにカプセル化されてない場合
funcB(pState);
pState->x = 10;
funcA(pState);

みたいなアドホックなコードから状態を変更されるリスクがあるから
事実上プログラム全体で状態を共有しているようなものだね