如题所述
第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 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 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
本回答被提问者采纳