私は私が次のような配列を定義する場合
int a [10];
ポインタ表記を使用して、を使用してアドレスにアクセスし、を使用a+<corresponding_item_in_array>
して値にアクセスできます*(a+<corresponding_item_in_array>)
。
今、私は物事を逆転させたいと思っていました、私malloc
は整数ポインタにメモリを割り当て、添え字表記でポインタを表現しようとしましたが、それは機能しませんでした
int *output_array;
output_array = (int *) (malloc(2*2*2*sizeof(int))); //i.e, space for 3d array
output_array[0][0][1] = 25;
// ^ produces error: subscripted value is neither array nor pointer
ストレージマッピングを使用してポインター式を使用した可能性がありますが、より単純な方法を使用できませんか?なぜ?