原文:数组作形参时的注意点

对于一维数组来说,数组作为函数参数传递,实际上传递了一个指向数组的指针,在c编译器中,当数组名作为函数参数时,在函数体内数组名自动退化为指针。此时调用函数时,相当于传址,而不是传值,会改变数组元素的值。 例如:void fun int a 若在fun函数中有a i 等语句,那么对应的数组元素会被修改,调用时直接用fun a 即可。 对于高维数组来说,可以用二维数组名作为实参或者形参,在被调用函数 ...

2015-03-27 14:46 0 10974 推荐指数:

查看详情

JAVA(1)之关于对象数组形参名的方法的使用

之前只是把对象数组作为形参,然后Eclipse报出Exception in thread "main" java.lang.NullPointerException的异常,后来查了一下,是因为对象数组的每一个元素还没有分配空间,所以添加完代码以后 ...

Sat Nov 17 01:59:00 CST 2018 0 857
数组的引用——用作形参&返回类型

一、数组的引用 切入:可以将一个变量定义成数组的引用(这个变量和数组的类型要相同) 形式: int odd[5] = {1, 3, 5, 7, 9}; int (&arr)[5] = odd; //中括号内的数一定要和所引用的数组的维度一样 cout ...

Sat Oct 14 04:37:00 CST 2017 0 5298
数组形参

数组有两个特殊的性质。一是不能复制数组;二是使用数组名字数组会自动转化为指向其第一个元素的指针。由于数组不能复制,所以无法编写使用数组类型形参的函数,因为数组会被自动转化为指针。 数组形参是个容易出问题的地方。因为对于C/C++新手而言,最大的惊讶是C++中根本 ...

Wed Jan 11 19:08:00 CST 2012 1 4254
const形参数组形参

const形参形参是const,要注意顶层const: 当使用实参初始化形参时会忽略掉顶层的econst,也就是说形参的顶层const被忽略掉。当形参是顶层const,传给它常量对象或者非常量对象都是可以的: 调用fcn函数,既可以传入const inr ...

Wed May 02 07:28:00 CST 2018 0 1003
c++中数组作为形参,传递的是值还是地址?

c++中数组作为形参,传递的是值还是地址? 运行如下程序 using namespace std; int a[100]={1,2,3,4,5,6,7,8,9}; void cit( int b[100]){//将a的地址传给b,修改a相当于修改b b[1]=1113 ...

Thu Mar 19 05:46:00 CST 2020 1 2650
c++之数组形参

1.问题,最近看项目log模块,_log模板函数中的一个参数竟然看蒙x了。函数原形是这样: template<size_t size>void _Log(char (&strDe ...

Thu Feb 02 02:49:00 CST 2017 0 11793
数组作为形参传递

数组名作函数参数与用数组元素实参有几点不同。 1) 用数组元素实参,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的。 2) 在普通变量或下标变量函数参数形参变量和实参变量是由编译系统分配的两个不同的内存单元。在函数调用 ...

Wed Oct 11 03:44:00 CST 2017 0 3449
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM