问题在于标题:
什么是int * a[][10];
它是一个指向int数组的指针数组吗?我试着顺时针/螺旋规则,但我不确定......
答案 0 :(得分:7)
int * a[][10];
是C ++中的非法声明,因为存储大小未知。您需要使用指向int
的10个指针的数组对其进行初始化,如下所示:
int* a[][10] = {{nullptr}}; // initialize with one array, the latter consisting of null pointers
或者,甚至更简单,
int* a[][10] = {{}};
初始化后,它变成了一个指向int
的指针数组10的数组。
答案 1 :(得分:0)
awk -v OFS="\t" -v n=3 -v v1="$v1" -v v2="$v2" -v v3="$v3" 'BEGIN {
# print n-1 empty lines
for (i=1; i<n; i++)
print ""
# print v1, v2, v3
print v1, v2, v3
}'
,将被读取为指向未定义行的2D数组(默认情况下,我猜它为0)和10列,其中数据在内存布局中逐行读出。
但这个声明只能在C中使用。
如果我们声明一个二维数组即int abc [10] [10]那么我们就可以制作一个&#39; a&#39;指出这个阵列&#39; abc&#39;。