C++ 函数的数组参数
来源:互联网 发布:group_concat mysql 编辑:程序博客网 时间:2024/06/07 01:59
我们都知道C和C++中在传递一维数组时,,都将被编译器视为指针类型。如:
所以传递一个指针实参给一维数组参数是可行的。
而且,当编译器对实参类型进行参数类型检查时并不检查一维数组的长度,也就是说数组的长度与参数声明无关。
那么上升为多维数组的情况,多维数组参数也将会被编译器视为指针的指针(或者说指针数组)吗?
当然不是,当函数参数是多维数组时,这样的参数必须指明第一维以外的所有维的长度。例如:
我们可以看到,二维数组的将会被编译器视为数组指针,而非指针的指针或者指针数组。
这也就是为什么我们经常需要传递一个二维数组参数时误传了一个指针的指针或使得编译器报错的原因。
最后来总结一下:
****************************************************************************************************
实参 所匹配的形式参数
数组的数组 char c[m][n] char(*)[n] -> 数组指针
指针数组 char *c[n] char **c -> 指针的指针
数组指针 char (*c)[n] char (*c)[n] -> 不改变
指针的指针 char **c; char **c -> 不改变
****************************************************************************************************/
- 强化C数组作为函数参数-多维数组的本质
- C---数组名作函数参数
- 数组参数的函数
- c 语言 二维数组的函数参数传递的问题
- C语言之数组作为函数的参数的用法
- C#函数的参数中返回结构数组
- C/C++面试题--数组作为函数参数的几个问题
- 【C语言】将数组作为函数的参数
- C/C++ 任意大小的二维数组作为函数参数
- C语言二维数组作为函数的参数
- C语言中数组作为函数参数的问题
- C语言二维数组作为函数的参数
- C里面多维数组作为函数参数的问题
- C语言二维数组作为函数的参数
- C语言二维数组作为函数的参数
- [总结]C语言二维数组作为函数的参数
- [总结]C语言二维数组作为函数的参数
- C/C++语言 二维数组作为函数的参数总结
- 大家好
- PHP 实现多服务器共享 SESSION 数据
- 谈目前项目组的代码提交制度
- 利用iText在JSP中生成PDF报表
- WindowXP上qt4.4.3安装与使用入门
- C++ 函数的数组参数
- VIM技巧之分隔窗口
- APUE 第二版 习题3.6
- Dreamweaver 中图片热点连接的制作 (热点工具)
- [转]微软:因触犯开源协议撤下Win 7上网本安装工具
- mssqlserver字符串日期互相转换
- J2ME术语
- 归纳法之导出子图
- ORA-12560: TNS: 协议适配器错误的解决方法