在C/C++中,多维数组的初始化可以将大多数维度作为可选维度。除最左边的尺寸外,必须指定所有其他尺寸。 例如,以下程序编译失败,因为没有指定两个维度。
null
C
#include<stdio.h> int main() { int a[][][2] = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} }; // error printf ( "%d" , sizeof (a)); getchar (); return 0; } |
C++
#include<bits/stdc++.h> using namespace std; int main() { int a[][][2] = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} }; // error cout << sizeof (a); getchar (); return 0; } // This code is contributed by Mayank Tyagi |
以下两个程序工作正常,没有任何错误。
C
// Program 1 #include<stdio.h> int main() { int a[][2] = {{1,2},{3,4}}; // Works printf ( "%lu" , sizeof (a)); // prints 4*sizeof(int) getchar (); return 0; } |
C++
// Program 1 #include<bits/stdc++.h> using namespace std; int main() { int a[][2] = {{1, 2}, {3, 4}}; // Works cout << sizeof (a); // prints 4*sizeof(int) return 0; } // This code is contributed by Mayank Tyagi |
C
// Program 2 #include<stdio.h> int main() { int a[][2][2] = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} }; // Works printf ( "%lu" , sizeof (a)); // prints 8*sizeof(int) getchar (); return 0; } |
C++
// Program 2 #include<bits/stdc++.h> using namespace std; int main() { int a[][2][2] = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} }; // Works cout << sizeof (a); // prints 8*sizeof(int) return 0; } // This code is contributed by Mayank Tyagi |
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END