C/C中多维数组的初始化++

在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
喜欢就支持一下吧
点赞12 分享