c++ - 函数、指针和二维数组
问题描述
在 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)
解决方案
推荐阅读
- flutter - 如何根据 Flutter 中的条件更改底部导航栏项
- java - Atomikos 的 Axon 框架?它是如何工作的?
- c# - 将 .Net Framework 应用程序与 .Net Core 库混合使用
- android - 如何使用“R.id object = new R.id();” 使用构建工具 3.6.0?
- javascript - 在嵌套对象的情况下,如何从嵌套对象访问顶级对象的属性?
- python - 相应地组合两列
- excel - Google Apps 脚本数据验证和下拉菜单
- bash - 在 Unix 中查找数组的插入键
- python - 在 Python 中使用 ElementTree 从 XML 中提取数据
- sql - Laravel - 计算查询,里面有连接