在C+++中怎么把在其他函数中引入数组,返回值是单个数。有例子更好

如题所述

第1个回答  2015-01-07

你的意思是酱紫么?

int func( int arr[],int arrLen)
{
    // do something
    return 0;
}
int main( int argc,char** argv)
{
    int testArray[]={ 1,2,3,4,6};
    
    int res = func( testArray, sizeof(testArray)/sizeof(int));
    
    return 0;
}

追问

我就想把主函数的一个数组用到另外一个声明的函数里面

追答

因为有作用域的限制你的想法是没办法办到的,但你可以使用全局变量。例如:

int gTestArray[]={ 1,2,3,4,6};

int fun()
{
    //use gTestArray
    return 0;
}
int main( int argc,char** argv)
{
    // use gTestArray;
}

追问

全局变么,可以用指针来弄他的地址来引用吗?

追答

额,刚刚提到过不同作用域,不知道你怎么理解 。简单的来说每一个函数内都是一个单独的区域,彼此之间的局部变量是不能互相访问的。所以你只能选择
1,通过引用传递参数来进行访问(函数调用,且是引用传递);
2,通过全局变量来进行访问;

第2个回答  2015-01-07
"把在其他函数中引入数组"是什么意思?追问

就是在主函数中提数组在另外声明的函数中

追答

你把这个数组作为参数传递给那个函数就可以了.

int total( int data[],int n)
{
int t = 0;
for(int i=0; i<n; ++i)
{
t += data[i];
}
return t;
}
int main()
{
int data[]={ 1,2,3,4,5};
int t = total( data, 5);
return 0;
}

追问

不需要用指针么。我试试这个

追答

int total( int data[],int n)

int total( int* data,int n)
是等价的

追问

为什么主函数有个return 0

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网