我的问题是,当你有一个数组
这里有一个例子:
tab[a][b][c]
时,你能否将tab[a]
用作参数array[b][c]
?这里有一个例子:
void function(int tab[5][6])
{
tab[4][3]++;
}
int main()
{
int tab[9][5][6];
for (int i=0;i<9;i++)
{
function(tab[i]);
}
return 0;
}
tab[4][3]++;
,您的用法具有未定义行为。 - Weather Vanetab[i]
没有使用&
、sizeof
或_Alignof
运算符来操作数组,因此该表达式被转换为指向数组第一个元素的指针。由于function
原型中的int tab[5][6]
被调整为类型int(*)[6]
,参数和参数类型匹配。唯一的问题是 @WeatherVane 提到的读取未初始化的值。 - EOF