簡體   English   中英

具有不同大小的C數組初始化程序?

[英]C Array Initializer With Different Sizes?

我正在嘗試制作一個包含大量數據的多維數組。

但是,我不知道中間數組的初始化程序大小,因為每個數組級別的初始化程序大小總是不同的。

看起來像這樣:

 char* spawnableVehicles[3][][3] = {
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
 }

如何初始化中間數組的大小?

您需要清楚地標識所有索引。 當我定義spawnableVehicles [30] [30] [30]時,定義為spawnableVehicles [3] [] [3]會產生錯誤。 我還寫了一個代碼來檢查一下:

#include<iostream>
using namespace std;
int main(){
    char* spawnableVehicles[30][30][30] = {
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
      {
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
           {"test1", "test2", "test3"},
      },
 };
 for (int i=0;i<30;i++){
    for (int j=0;j<30;j++){
        for (int k=0;k<30;k++){
            if (spawnableVehicles[i][j][k]!=NULL){
                // printing spawnableVehicles[i][j][k] when it has a value other than NULL
                cout<<i<<"   "<<j<<"   "<<k<<"   "<<spawnableVehicles[i][j][k]<<"\n";
            }
        }
    }
 }
 return 0;
}

結果如下:

0   0   0   test1
0   0   1   test2
0   0   2   test3
0   1   0   test1
0   1   1   test2
0   1   2   test3
0   2   0   test1
0   2   1   test2
0   2   2   test3
0   3   0   test1
0   3   1   test2
0   3   2   test3
0   4   0   test1
0   4   1   test2
0   4   2   test3
1   0   0   test1
1   0   1   test2
1   0   2   test3
1   1   0   test1
1   1   1   test2
1   1   2   test3
1   2   0   test1
1   2   1   test2
1   2   2   test3
2   0   0   test1
2   0   1   test2
2   0   2   test3
2   1   0   test1
2   1   1   test2
2   1   2   test3
2   2   0   test1
2   2   1   test2
2   2   2   test3
2   3   0   test1
2   3   1   test2
2   3   2   test3
2   4   0   test1
2   4   1   test2
2   4   2   test3
2   5   0   test1
2   5   1   test2
2   5   2   test3
2   6   0   test1
2   6   1   test2
2   6   2   test3
2   7   0   test1
2   7   1   test2
2   7   2   test3

--------------------------------
Process exited after 0.08576 seconds with return value 0
Press any key to continue . . .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM