首页 > 解决方案 > 函数、指针和二维数组

问题描述

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

#include <iostream>

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

但是,这似乎不起作用:

#include <iostream>

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

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

同样在处理指针和二维数组时,请考虑以下代码:

#include <iostream>

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

    return;
}


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

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

标签: c++arraysfunctionpointers

解决方案


推荐阅读