我是编程的新手,我真的不明白这个问题。你们当中有些人可以举例说明这意味着什么。如何编写一个函数,其中a是int值,n是长度?
我糊涂了...
我不确定你的问题是什么,因为你没有提供太多信息。但是,C中的函数定义如下:
return_type function_name( parameter list ) {
body of the function
}
所以,对于这种情况,我们可以说:
void arrayFunction( int a[], int n){
//do whatever you need to do with the function here
}
这可能对你有所帮助。
假设您有一个int数组,如下所示:
int arr[] = {2,3,4,5,6};
你可以看到数组arr
里面有5个元素。你可以数数吧。但是当你将上面的arr
传递给函数时,该函数不知道arr
包含多少元素。请参阅下面(不正确的)代码段:
#include <stdio.h>
void display(int arr[]){
}
int main(void) {
int arr[] = {2,3,4,5,6};
display(arr);
return 0;
}
名为'display()
'的函数不知道arr
有多少元素
因此,您需要传递额外的参数(名为'n
'的额外参数)来告诉关于arr
中元素数量的被调用函数。你需要单独告诉它 - arr
的长度。
现在这变成了 - 正如你在你的问题中所说的那样 - arr
是int值而n
是长度
以下是正确的代码:
#include <stdio.h>
void display(int a[], int n){
//Now display knows about lenth of elemnts in array 'a'
// Length is 5 in this case
}
int main(void) {
int arr[] = {2,3,4,5,6};
display(arr, 5);
return 0;
}
现在,名为'display()
'的函数知道int数组的长度。这是您在指定数组及其长度时编写代码的方式。
更正式地说,这是因为在传递数组时,它会衰减到指针,因此需要同时传递它的长度。