お聞きしたいのですが
参考書に
array[index]の結果は*((array)+(index))と同じなので

char ch = p[3];
と
char ch = 3[p];
(pはポインタ)
は、同じ処理だと書いてあったのですが、データ型がintの場合は3が12バイト分になってdoubleの場合は3が24バイト分になるはずなので
一概に「3+pに格納されてるアドレスの数値」って言えない気がしたのですが何か考え方が間違っているのでしょうか?