首页 > C > 数组 阅读:57,774

数组做函数参数注意事项

数组的长度计算,可以用sizeof(a)来计算。但是,一旦数组做了函数的参数,那么数组的长度就和指针的长度一样了。比如下面的代码:

void func(int a[], int len)//a是数组名,len是数组元素个数。数组做函数参数,一般都这么传递

{

         printf(“sizeof(a) in func=%d\n”, sizeof(a));

}

int a[10] = {0};

printf(“sizeof(a)=%d\n”, sizeof(a));

func(a, 10);

执行上面的代码,你会发现输出的两个结果为:

sizeof(a)=40

sizeof(a) in func=4

也就是说,如果数组做了函数的参数,那么在函数内部,数组就变为了指针。实际上,数组是一个常量指针。比如:

int a[10];

a的类型为:int *const a;//a is a const pointer to int;

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注