C++ Primer笔记 数组做形参

数组做形参时基本有三种情况,如下

①int Func(int *arr, size_t length);                     //返回值为int类型只为举例,下同

②int Func(const int *beg, const int *end);

③int Func(int (&arr)[10]);


上述三种方式中:①传递的是数组首地址和数组长度,②传递的是数组首地址和数字末尾元素的下一个地址,③传递的是数组的引用。

当这样时:int Func(int arr[10]),编译器会忽略数组的长度,而仅仅当作一个指针来看,而如果传递的是数组应用的话就完全没有问题。

下面将分别举例

int Func(int *arr, size_t length)

{

    int sum = 0;

    while(length --)

    {

        sum += arr[lenght];

    }

    return sum;

}



int Func(const int *beg, const int *end)

{

    int sum = 0;

    const int *p = beg;

    while(p != end)

    {

        sum += *p++;                //执行步骤:sum += *p;     p ++;

    }

    return sum;

}



③int Func(int  (&arr)[10])

{

    int sum = 0;

    size_t length = 0;

    while(length --)

    {

        sum += arr[length];

    }

}

NOTE: 当调用③时,数组必须也是10个的大小。



 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值