函数、指针和二维数组 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]){< /代码>)看起来像是把数组作为参数。