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

数组做函数参数

在函数内部计算数组空间的时候,一定要注意:当使用数组做函数参数的时候,数组在函数内部退化为指针。比如下面的例子:

int test_array(int a[],size_t len)

{

    printf(“sizeof a:%d\n”,sizeof(a));//在函数内部,arr已经退化为指针,此时长度为4x86)或者为8X64

}

 

int main(void)

{

    int arr[100]={0};

    printf(“sizeof arr:%d\n”,sizeof(arr));//此时arr作为数组,它的长度为400

    test_array(a,sizeof(arr));

    return 0;

}

所以,以后不能在函数内部计算实参数组的元素个数,必须把元素个数通过参数的方式传递给函数,否则会出现问题。

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

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

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

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

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