簡単な例を試してみただけで、SDL_Texture ポインターに配列を使用しても問題はなかったので、ここに示されていないコードの部分に何か問題があると思います。
t0 変数と t1 変数を正確にどこでどのように定義しましたか? 上記のように、配列を初期化する前にそれらを割り当てなかった場合、配列内のポインターは任意の値 (初期化されたポインター t0 および t1 が指すもの) を指し、後で後者を変更しても、配列に格納されているコピーは変更されません。 . (これは、配列を使用している場合、SDL_RenderCopy の呼び出しで有効な SDL_Texture* を使用していないことを意味します)。
私のテストコードの関連部分はこれでした:
SDL_Texture *tex0=LoadImage("test.bmp",renderer), *tex1=LoadImage("test1.bmp",renderer);
SDL_Texture *arr[]={tex0,tex1};
SDL_Rect dest0, dest1;
dest0.x=0;
dest0.y=0;
dest1.x=200;
dest1.y=200;
SDL_QueryTexture(tex0, NULL, NULL, &dest0.w, &dest0.h);
SDL_QueryTexture(tex1, NULL, NULL, &dest1.w, &dest1.h);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer,tex0,NULL,&dest0);
SDL_RenderCopy(renderer,tex1,NULL,&dest1);
//SDL_RenderCopy(renderer,arr[0],NULL,&dest0);
//SDL_RenderCopy(renderer,arr[1],NULL,&dest1);
SDL_RenderPresent(renderer);
SDL_Delay(2000);
SDL_RenderCopy へのコメント付きの呼び出しとコメントなしの呼び出しの両方で同じ結果が得られました。もちろん、このコードは決して理想的なものではなく、目前の問題をテストするためだけのものです。
明確な回答ができず申し訳ありませんが、少しでもお役に立てれば幸いです。