数组作为形参

数组的两个特性:

数组不能被拷贝;

数组名会被转换成指针;


以下3中print()函数是等价的,编译器处理对函数的调用时只检查传入的参数是不是const int *;

void print(const int *);

void print(const int [ ]);//对编译器来说是一样的,这里主要是为了告诉使用者,函数的意图的作用于一个数组;

void print(const int [10 ]);//这里的维度表示我们期望数组含有多少个元素,但实际上不一定。



传入数组指针的时候,我们不知道数组的长度。常用的管理指针形参有以下3种技术:

1,使用标记指定数组长度

对于c风格的字符串,因为字符数组最后有个空字符,处理字符串的时候遇到空字符停止就行。

2,使用标准库规范

void print(const int * beg,const int * end);

需要提供数组的首指针和尾后指针;

3,显示的传递一个表示数组大小的形参


也可以用数组引用形参

void print(int (&a)[ 10] );

这时候只接受int[10]的实参;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值