
C语言定义一个函数如果含有数组
比如定义成voidmin(inta[],intx)后面为什么要有intx,这个x什么意思,比如我定义一个函数合并2个数组里面的值可以定义为voidmin(inta[],i...
比如定义成 void min(int a[],int x)后面为什么要有int x,这个x什么意思,比如我定义一个函数合并2个数组里面的值可以定义为 void min(int a[],int b[])么,这样定义是错误的么。
展开
展开全部
我猜你想问的是为什么好多函数的参数如果有个数组后面总喜欢有个int型参数,因为C里面的数组(如上面的int[] a)不像Java, a不携带数组的长度信息,而遍历数组需要知道数组长度信息故传入长度x. 而Java里由于数组也是一种类型,所以携带的信息较多,含有长度(公有字段length). 在定义时参数int x随你要不要,但如果你想合并a,b你肯定至少要遍历一个数组(如b)然后把数据追加到另一个数组里(如a),那你就得知道b的长度. (如果你实在不想多传长度,你可以考虑sizeof运算符,但如果a不是数组而是指针sizeof也没辙.)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |