首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

数组作为函数参数的疑点

2013-12-06 
数组作为函数参数的疑问在函数nzp的定义中,整型数组a作为函数nzp的参数时,分别定义int nzp(a[8])、int nzp(

数组作为函数参数的疑问
在函数nzp的定义中,整型数组a作为函数nzp的参数时,分别定义int nzp(a[8])、int nzp(a[])、是不是都是正确的?意思是不是一样的?参数a[8]和a[]都表示数组的第一个元素的地址?
[解决办法]
函数声明时:
有3种方法可以把数组当做函数参数:
1.直接传指针:

void myFunction(int *param){
}

2.传带size的数组:
void myFunction(int param[10]){
}

3.传不带size的数组:
void myFunction(int param[]){
}


原理都是一样的,都是告诉编译器接受一个int 型的指针。

If you want to pass a single-dimension array as an argument in a function, you would have to declare function formal parameter in one of following three ways and all three declaration methods produce similar results because each tells the compiler that an integer pointer is going to be received

参考:http://www.tutorialspoint.com/cplusplus/cpp_passing_arrays_to_functions.htm

函数调用时:
int param[10];
myFunction(param)

直接传递函数名(即数组地址)当做实参即可。

热点排行