0x4*_*141 0 c multidimensional-array
我正在尝试制作2x2阵列,将其初始化为0,并将其传递给函数.
我试过用它来初始化它
int array[2][2] = {0}
Run Code Online (Sandbox Code Playgroud)
但只有前5个值为0.
对我来说更大的问题是将数组传递给函数.
二维数组是指向指针的指针吗?所以我应该能够把它传递给;
function(**array);
Run Code Online (Sandbox Code Playgroud)
它是否正确?
当我尝试在函数中访问此数组时,我可以以格式访问它
void function (int **array){
array[0][2] = choice
}
Run Code Online (Sandbox Code Playgroud)
因为这不起作用,我假设某处我必须定义数组的大小.
谢谢.
"二维数组是指向右边的指针吗?" - 错了.二维数组就是 - 二维数组; 也就是说,一维数组的数组.
如果要将2x2数组传递给函数,请使用指向2x2数组的指针:
static void function (int (*array)[2][2]){
//(*array)[0][2] is out of bounds...
(*array)[1][0] = 3;
}
int main(void) {
int array[2][2] = {{0}};
function(&array);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |