函数、指针和二维数组 C++中的P> 我们可以做到以下几点: #include <iostream> int main() { int arr[] = {1,2,3}; int *p = arr; return 0; } #包括 int main() { int arr[]={1,2,3}; int*p=arr; 返回0; }

函数、指针和二维数组 C++中的P> 我们可以做到以下几点: #include <iostream> int main() { int arr[] = {1,2,3}; int *p = arr; return 0; } #包括 int main() { int arr[]={1,2,3}; int*p=arr; 返回0; },c++,arrays,function,pointers,C++,Arrays,Function,Pointers,然而,这似乎不起作用: #include <iostream> int main() { int arr[][3] = {{1,2,3},{4,5,6}}; int **p = arr; return 0; } #包括 int main() { int arr[][3]={{1,2,3},{4,5,6}; int**p=arr; 返回0; } 有人能解释一下为什么它不适用于2d阵列吗 在处理指针和二维数组时,请考虑下面的代码: #include

然而,这似乎不起作用:

#include <iostream>

int main() 
{  
    int arr[][3] = {{1,2,3},{4,5,6}};
    int **p = arr;
    return 0;
}
#包括
int main()
{  
int arr[][3]={{1,2,3},{4,5,6};
int**p=arr;
返回0;
}
有人能解释一下为什么它不适用于2d阵列吗

在处理指针和二维数组时,请考虑下面的代码:

#include <iostream>

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

    return;
}


int main() 
{  
   int arr[N][N];
   return 0;
} 
#包括
int N=5;
无效函数(整数arr[][N]){
返回;
}
int main()
{  
国际航空公司[N][N];
返回0;
} 

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

请在问题中包括编译器错误。“不起作用”可以指任何事情,请针对每个问题关注一个问题。数组大小必须是编译时常量,因此
intn=5
不能用作数组大小,这与2d或将数组传递给函数无关。请考虑使用或至少使用。请阅读C++编译器(也许……)和调试程序(也许……)的文档。使用GCC,用<代码> g++-Walth-Wop-g/<代码>数组编译您的代码到指针衰变是一种很好的头痛方法,尤其是因为“代码>虚空FUNC(int ARR[][n]){< /代码>)看起来像是把数组作为参数。