c – `int a [6] [(2,2)]`数组是什么意思?
发布时间:2020-12-16 10:41:14 所属栏目:百科 来源:网络整理
导读:阵列的第二个维度尚不清楚.这个数组的大小是48,其中int是2个字节但int a [6] [4]和int a [6] [(2,2)]之间的确切差异是什么? 解决方法 what is the exact difference in int a[6][4] and int a[6][(2,2)] ? 有一个很大的不同. int [6] [(2,2)]在很大程度上等
阵列的第二个维度尚不清楚.这个数组的大小是48,其中int是2个字节但int a [6] [4]和int a [6] [(2,2)]之间的确切差异是什么?
解决方法
有一个很大的不同. int [6] [(2,2)]在很大程度上等同于int [6] [2]. (2,2)表达式涉及comma operator并且评估为2. 微妙的差异(参见@Virgile的评论)是(2,2)不是C中的常量表达式.所以int [6] [(2,2)]实际上是一个大小为6的可变长度数组的数组.从技术上讲,它确实相当于 int n = 2; int a[6][n]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |