添え字演算子[]のオペレータに変数が利用できるかどうかについてはうろ覚えなので明言はしないけど
確かANSI C(C90だっけ?)だと定数しか使えなかったはず
最近はC++のように変数でも使用可能になっているかどうかは詳しい人に任せます