3个回答
展开全部
很简单的。
如下所示:
若有数组:int Array[10];函数为:void function(int *Array);则传递参数的方式为:function(Array);
或是
若有数组:int Array[10];函数为:void function(int Array[10]);则传递参数的方式为:function(Array);
其实第二种方式与第一种方式没什么两样的。传递参数的方式都是传址传递。在者第二种方式的函数的形式参数Array[10]中所指定的大小是没有意义的,因为编译系统在编译时也只是检查其类型(此处为数组类型)而不检查其大小;其唯一的用处就是对编程人员而言,能够知道该数组的大小。但是我们若是改写成如下形式不就对任意大小的数组形式参数都可用了吗!
void function(int *Array,int Length);/*Length为数组的长度,即大小*/
我个人比较喜欢第一种方式。
如下所示:
若有数组:int Array[10];函数为:void function(int *Array);则传递参数的方式为:function(Array);
或是
若有数组:int Array[10];函数为:void function(int Array[10]);则传递参数的方式为:function(Array);
其实第二种方式与第一种方式没什么两样的。传递参数的方式都是传址传递。在者第二种方式的函数的形式参数Array[10]中所指定的大小是没有意义的,因为编译系统在编译时也只是检查其类型(此处为数组类型)而不检查其大小;其唯一的用处就是对编程人员而言,能够知道该数组的大小。但是我们若是改写成如下形式不就对任意大小的数组形式参数都可用了吗!
void function(int *Array,int Length);/*Length为数组的长度,即大小*/
我个人比较喜欢第一种方式。
展开全部
int function(int a[], int n)
{
reuturn a[0] + a[1];
}
int function1(int *a, int n)
{
reuturn a[0] + a[1];
}
fun(void)
{
int a[5] = {1,2,3,4,5};
int sum;
sum = function(a, 2);
sum = function1(a, 2);
}
一维数组名就是一个指针,所以这两种形式没什么区别
{
reuturn a[0] + a[1];
}
int function1(int *a, int n)
{
reuturn a[0] + a[1];
}
fun(void)
{
int a[5] = {1,2,3,4,5};
int sum;
sum = function(a, 2);
sum = function1(a, 2);
}
一维数组名就是一个指针,所以这两种形式没什么区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有函数int f(int i)
有数组 int x[10]
调用f(x[0])
有数组 int x[10]
调用f(x[0])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询