elementler tip int[2]
sahiptir. Böylece dizinin her elemanı en çok iki başlatıcı ile başlatılmalıdır.
yerine örneğin
int c[3][2] = { { 4, 4, 4 },{ 7, 7 } };
^^^^^^^^^^^
yazma
int c[3][2] = { { 4, 4 },{ 7, 7 } };
^^^^^^^^
Dizi d doğru başlatılır.
int d[3][3] = { {1, 1, 1}, {1, 1, 1} };
Onun başlatma dizi erişirken yanlış bir dizini kullanarak çünkü yanlış bir değer elde görünüyor aşağıdaki
int d[3][3] =
{
{1, 1, 1},
{1, 1, 1},
{0, 0, 0}
};
eşdeğerdir.
İşte C++ ile yazılmış dizileri gösteren bir programdır.
#include <iostream>
int main()
{
int a[2][2] =
{
{ 1, 2 },
{ 3, 4 }
};
int b[2][3] =
{
{ 9, 8 },
{ 7, 6, 5 }
};
int c[3][2] =
{
{ 4, 4 },
{ 7, 7 }
};
int d[3][3] =
{
{ 1, 1, 1 },
{ 1, 1, 1 }
};
for (const auto &row : a)
{
for (int x : row) std::cout << x << ' ';
std::cout << std::endl;
}
std::cout << std::endl;
for (const auto &row : b)
{
for (int x : row) std::cout << x << ' ';
std::cout << std::endl;
}
std::cout << std::endl;
for (const auto &row : c)
{
for (int x : row) std::cout << x << ' ';
std::cout << std::endl;
}
std::cout << std::endl;
for (const auto &row : d)
{
for (int x : row) std::cout << x << ' ';
std::cout << std::endl;
}
std::cout << std::endl;
}
program çıktı dolaylı sıfıra başlatıldı edildi açıkça başlatılmamış edildi dizilerin
1 2
3 4
9 8 0
7 6 5
4 4
7 7
0 0
1 1 1
1 1 1
0 0 0
Bileşenleri'dir.
'int b [2] [3]' "3 inçlik 2 dizi" değil "1 inç 2 inç ve ardından 3 inçlik 1 dizi" anlamına gelir. Bunu anladıktan sonra neyin yanlış olduğunu görebilmelisin. Çok boyutlu diziler farklı boyutlardaki dizileri tutamazlar, eğer aynı kapsayıcıda farklı boyutlara ihtiyacınız varsa, bir 'std :: vector>' ya da bir düz dizi ve manuel dizin hesaplaması kullanmanız gerekir. –
user657267