数组作为函数参数怎么用C++
比如这个题Writeafunctiontoreversesanarrayusingthefollowingfunctionheader:voidreverse(intar...
比如这个题Write a function to reverses an array using the following function header:void reverse(int array[], int size) 最好解释详细一点~谢谢啦
展开
4个回答
展开全部
数组名作函数参数
数组名可以作函数的实参和形参。如:
main()
{
int array[10];
…………
f(array,10);
…………
}
f(int arr[],int n)
{
…………
}
array为实参数组名,arr为形参数组名。在学习指针变量之后就更容易理解这个问题了。数组名就是数组的首地址,实参向形参传送数组名实际上就是传送数组的地址,形参得到该地址后也指向同一数组。这就好象同一件物品有两个彼此不同的名称一样。
同样,指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可作为函数的参数使用。
归纳起来,如果有一个实参数组,想在函数中改变此数组的元素的值,实参与形参的对应关系有以下4种:
形参和实参都是数组名。
main()
{int a[10];
……
f(a,10)
……
f(int x[],int n)
{
……
}
}a和x指的是同一组数组。
实用数组,形参用指针变量。
main()
{
int a[10];
……
f(a,10)
……
}
f(int *x,int n)
{
……
}实参、型参都用指针变量。
实参为指针变量,型参为数组名。
展开全部
同形式参数型式有关。
形式参数 int array[],
int b[5] 作实际参数用, 只需写 b
#include <stdio.h>
void reverse(int array[], int size) {
int i,t;
for (i=0;i<size/2;i++){
t = array[i];
array[i]=array[size-1-i];
array[size-1-i]=t;
}
}
main(){
int b[5]={1,2,3,4,5};
int c[6]={1,2,3,4,5,6};
int i;
reverse(b,5);
reverse(c,6);
for (i=0;i<5;i++) printf("%d ",b[i]);
printf("\n");
for (i=0;i<6;i++) printf("%d ",c[i]);
return 0;
}
形式参数 int array[],
int b[5] 作实际参数用, 只需写 b
#include <stdio.h>
void reverse(int array[], int size) {
int i,t;
for (i=0;i<size/2;i++){
t = array[i];
array[i]=array[size-1-i];
array[size-1-i]=t;
}
}
main(){
int b[5]={1,2,3,4,5};
int c[6]={1,2,3,4,5,6};
int i;
reverse(b,5);
reverse(c,6);
for (i=0;i<5;i++) printf("%d ",b[i]);
printf("\n");
for (i=0;i<6;i++) printf("%d ",c[i]);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-19
展开全部
void reverse(int *array, int size)
传参时传数组名
传参时传数组名
追问
能否帮我写一下这个函数?另外如果我想引用这个函数需要怎么写?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
reverse(int *array, int size)
reverse(int array[], int size)
reverse(int &array, int size)
reverse(int array[], int size)
reverse(int &array, int size)
更多追问追答
追问
不是让写一个程序么= =这是什么?
追答
里面随便写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询