如何解决C/C++:这是一个二维数组吗?为什么数组中的括号在语法上是正确的?
我刚开始学习 C++,看到了下面的代码示例。 该代码声明了一个带有 paratheses 的整数数组,并且可以在没有语法错误的情况下进行编译。这是二维数组声明吗?
int array[] = {(10,9),(8,7),(6,5),(4,3),(2,1),(1,2),(3,4),(5,6),(7,8),(9,10)};
谢谢!
解决方法
不,这不是二维数组,而是一维数组。
逗号运算符用于 (10,9)
和类似的东西。此运算符首先评估左侧操作数,然后丢弃结果并评估右侧操作数。逗号运算符的求值结果就是右与操作数的求值结果。
因此,声明意味着
int array[] = {9,7,5,3,1,2,4,6,8,10};
请注意,用于分隔元素的逗号不是逗号运算符。
,如果你想要一个二维数组,你可以这样写:
int array[][2] = {{10,9},{8,7},{6,5},{4,3},{2,1},{1,2},{3,4},{5,6},{7,8},{9,10}};
cout << "Size: " << sizeof(array) << endl;
for (int i=0; i<sizeof(array)/sizeof(array[0]); i++)
cout << array[i][0] << ',' << array[i][1] << endl;
,
二维数组看起来像这样:
type name[size1][size2] = {e1,e1,...}
示例:
int a[3][4] = {
{0,/* initializers for row indexed by 0 */
{4,/* initializers for row indexed by 1 */
{8,9,10,11} /* initializers for row indexed by 2 */
};
你的只是一个简单的数组.. 互联网上有很多例子,只是谷歌。
,没有。它是一个一维数组。该语句简单地声明了一个包含 10 个整数的整数数组,但大括号内的括号确实是一个神话。
如果你想要一个二维数组,可以声明为
int array[][2]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。