函数,指针和二维数组

问题描述

在C ++中, 我们可以执行以下操作:

#include <iostream>

int main() 
{  
    int arr[] = {1,2,3};
    int *p = arr;
    return 0;
}

但这似乎无效:

#include <iostream>

int main() 
{  
    int arr[][3] = {{1,3},{4,5,6}};
    int **p = arr;
    return 0;
}

有人可以解释一下为什么它不适用于二维数组吗?

另外,在处理指针和2d数组时,请考虑以下代码

#include <iostream>

int N = 5;
void func(int arr[][N]){

    return;
}


int main() 
{  
   int arr[N][N];
   return 0;
} 

上面的代码也不起作用,我也不知道为什么?错误:表达式必须具有恒定值(变量N)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)