Arrays können linear (eine Dimension) oder mehrdimensional sein. Was ist der Unterschied zwischen diesen Arrays, solange sie das gleiche Ergebnis liefern?Was ist der Unterschied zwischen linearer Anordnung und mehrdimensionaler?
glaube ich ein Array eine Reihe von aufeinanderfolgenden Adressen von der gleichen Art ist und die Größe in dem Speicher. Gilt das für mehrdimensionale Arrays?
#include <iostream>
using namespace std;
int main()
{
int array1[4] = {0, 1, 2, 3};
int array2[1][4] = {0, 1, 2, 3};
int array3[1][2][2] = {0, 1, 2, 3};
cout << array1[0] << endl; // 0
cout << array2[0][0] << endl; // 0
cout << array3[0][0][0] << endl; // 0
cout << array1[2] << endl; // 2
cout << array2[0][2] << endl; // 2
cout << array3[0][1][0] << endl; // 2
return 0;
}
Der Unterschied ist die Art, wie auf die Elemente zugegriffen wird. Wenn Sie eine 3D-Struktur müssen Sie nicht wollen, schreiben 'array3 [i size_i * j + size_i * size_j * k +]' aber Sie wollen schreiben 'array3 [i] [j] [k]' – user463035818
@ tobi303 Das ist vielleicht ein wenig unaufrichtig wegen des möglichen Nutzens der räumlichen Lokalität. – erip
@erip nicht sicher, ob ich Ihren Kommentar verstehe ..... – user463035818