数组做参数传递有关问题
数组做参数传递问题
使用一个二维数组,如B[4][65536]。想把数组第三行作为实参,也就是B[3][65536]。如何设计函数的实参和形参?
急求。谢谢大家
------解决方案--------------------
type B[4][65536];
int func(type arrayB[65536])
int func(type *ptr, int len)
func(&B[3][0]);
func(B[3], 65536);
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
形参用指针,比如 int* arr ,再给一个size长度参数,然后就像用一维的数组那样使用。
函数调用的时候传入 B[3],65536就可以。
------解决方案--------------------
使用一个二维数组,如B[4][65536]。想把数组第三行作为实参,也就是B[3][65536]。如何设计函数的实参和形参?
急求。谢谢大家
------解决方案--------------------
type B[4][65536];
int func(type arrayB[65536])
int func(type *ptr, int len)
func(&B[3][0]);
func(B[3], 65536);
------解决方案--------------------
typedef int TYPE_ARRAY[65536];
void fun(TYPE_ARRAY arr)
{
}
int main()
{
int T_arr[4][65536] = {0};
fun(T_arr[3]);
return 0;
}
------解决方案--------------------
void test_fun(int *arr)
{
//do something
}
int B[4][65536];
test_fun(&B[3][0]);
------解决方案--------------------
形参用指针,比如 int* arr ,再给一个size长度参数,然后就像用一维的数组那样使用。
函数调用的时候传入 B[3],65536就可以。
#include <iostream>
#include <iterator>
using namespace std;
void func(int* array, size_t n)
{
copy(array, array + n, ostream_iterator<int>(cout, " "));
cout << endl;
}
int main()
{
int array[3][10] = {0};
for (int i = 0; i < 10; i++)
array[2][i] = i;
func(array[2], 10);
return 0;
}
------解决方案--------------------