当数组做为函数的形參的时候,该參数退化为指针,而且是无法直接求得数组的大小。

传数组给一个函数。数组类型自己主动转换为指针类型,因而传的实际是地址。

void func(int array[10])
void func(int array[])
void func(int *array)
所以以上三种函数声明全然等同。

实际情况是。数组做參数。全然无法按值传递。

这是由C/C++函数的实现机制决定的。

通常计算数组大小的方式例如以下:

int len = sizeof(arr)/sizeof(type)

利用总长度和单个元素的长度关系得到数组的长度

但做为形參后,sizeof(arr)的长度总为4,即一个指针的长度。

为此,有两种方法来解决问题:

方法1.

參数传递的时候,直接加上一个參数做为数组的长度

方法2.(是错误的)

int *p = a[0];
int iLen = 0;
while(p != NULL)
{
    iLen++;
    *p++;
}

最新文章

  1. iOS下控件坐标的转换方法
  2. 洛谷 P1341 无序字母对 Label:欧拉路 一笔画
  3. Orchard MySql 修正版 下载
  4. CSS3入门
  5. $http设置headers来实现IE不缓存url请求的资源
  6. Python 解析构建数据大杂烩 -- csv、xml、json、excel
  7. SSIS-导入Excel文件时记录行号
  8. Spring Boot 集成 Swagger,生成接口文档就这么简单!
  9. linux 命令启动Oracle数据库
  10. js 加减乘除以及四舍五入 新写法
  11. 深入浅出JavaScript(一)
  12. svn中的ignore
  13. 关于npm run build打包后css样式中的图片失效的问题(如background)
  14. 利用U盘大白菜软件来重装win7系统
  15. “全栈2019”Java多线程第三章:创建多线程之实现Runnable接口
  16. temple-html5
  17. [z]计算机架构中Cache的原理、设计及实现
  18. 表单对象属性disabled和readOnly
  19. unity里无损实现制定物体bloom
  20. 【问题】/usr/bin/env: php: 没有那个文件或目录

热门文章

  1. Python+Selenium练习篇之18-获取元素上面的文字
  2. Windows系统中 JDK安装及环境配置
  3. 遇到的python3 不兼容 python2的地方
  4. ssh公钥私钥
  5. jQuery操作DOM基础 - 创建节点
  6. File(IO流)
  7. mysql查看语句执行状态的常见函数
  8. 论S B的自我修养 【2015/10/18更】
  9. e.keyCode和e.which使用
  10. redis在linux上的安装和配置