码迷,mamicode.com
首页 > 编程语言 > 详细

数组参数的sizeof

时间:2015-05-30 07:05:23      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:sizeof   参数   拷贝   int   指针   

如下代码中,把数组作为函数参数时,函数中需要计算数组大小:

void copy(int a[],int b[])
{
    memcpy(b,a,sizeof(a));
}

这段代码的本意是将a中的所有字符拷贝到B中,但运行时会发现不能得到正确结果。因为当数组作为形参时,在函数内退化为指针,因此sizeof(a)返回的是指针的大小,而不是数组a的大小。正确的做法将数组的引用作为参数:

void copy(int (&a)[],int b[])
{
    memcpy(b,a,sizeof(a));
}

数组参数的sizeof

标签:sizeof   参数   拷贝   int   指针   

原文地址:http://blog.csdn.net/u011421608/article/details/46270221

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!