C/C++ 中函数形参传递二维数组的方法
2015-05-04 00:50
281 查看
//代码示范,在g++下编译通过
#include <iostream>
using namespace std;
void Func(int **a,int m,int n)
{
for(int i = 0;i < m; ++i)
for(int j = 0;j < n; ++j)
cout << *((int*)a + 10*m + n) <<endl; //解引用只有一次,再把二级指针转为一级指针
}
int main()
{
int static a[10][10];
Func((int **)a,10,10); //把一级指针转换为二级指针
return 0;
}
//上述代码中抓住指针地址不变的原则,传递了一个表头进入函数,进行了灵活了转换。
//显然a[][] 这样的使用是不合法的。
#include <iostream>
using namespace std;
void Func(int **a,int m,int n)
{
for(int i = 0;i < m; ++i)
for(int j = 0;j < n; ++j)
cout << *((int*)a + 10*m + n) <<endl; //解引用只有一次,再把二级指针转为一级指针
}
int main()
{
int static a[10][10];
Func((int **)a,10,10); //把一级指针转换为二级指针
return 0;
}
//上述代码中抓住指针地址不变的原则,传递了一个表头进入函数,进行了灵活了转换。
//显然a[][] 这样的使用是不合法的。
相关文章推荐
- C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
- C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
- 数据结构第二周项目1--C/C++语言中函数传递的三种方式之方法三引用作形参
- C++ 函数使用形参传入二维数组实参的方法
- C/C++函数如何传递二维数组
- C语言中将二维数组作为参数传递给函数的方法
- C/C++函数形参传实参时值传递、指针传递、引用传递的区别
- 第二周项目1 C/C++语言中的函数参数传递的三种方式--引用作形参
- C++中关于二维数组作为函数参数传递的问题
- c++ 之类成员函数作为函数的形参传递
- c/c++/java,函数调用的参数的传递方法
- C++中将stack等容器类作为函数形参传递
- 【C++再学习】【03】函数形参实参与值传递引用传递新解
- 数据结构第二周项目1--C/C++语言中函数传递的三种方式之方法二传地址
- C++字符串变量作为函数形参传递(引用方式)
- C++ 二维数组作为函数返回值类型传递方式举例
- C++动态创建二维数组,二维数组指针,以及动态二维数组函数传递
- 二维数组 作为函数参数 传递方法
- 二维数组作为函数的实参,定义函数形参的方法
- C++ 函数参数传递-非引用形参