python中到底是“传引用”还是“传值”呢???
这个问题的回答是:看情况。有的是传值,有的是传引用。
判断的依据是看对象的可变性,而这一点又取决于对象的类型。故在python中的说法是对象可变的还是不可变的。
基本数据类型(整型及其他数据类型,字符串)及元组是不可变的,参数传递的是形参,也就是传过来的是原值的一个拷贝,在函数中改变形参的值实参不会...
分类:
编程语言 时间:
2014-09-13 09:27:14
阅读次数:
263
今天在看一段c代码的时候看到一个函数的形参是(int *&a)居然是这个东西,这让我好生疑惑啊,不知道用这么多的地址符号用意何在呢?传址么?那也不必这样,只需要用指针完全能够达到这样的效果啊,交换两个整形变量的数据,只要定义一个函数 swap(int* a,int *b) 在函数里面交换*a和*b的...
分类:
编程语言 时间:
2014-09-11 23:36:42
阅读次数:
189
一直不明白形参里什么时候用引用,什么时候不用引用。今天去查了一下:引用的好处: 1.向函数传递较大的对象时,需要使用引用形参,比如string这种不知道会有多大的类型; 2.如果要改变实参的值,引用用起来方便,可以回想一下学引用的第一个例子swap函数,比指针方便多了;其次,如果不想改变实参的值.....
分类:
其他好文 时间:
2014-09-09 22:44:59
阅读次数:
250
#include<stdio.h>#defineM80voidproc(int*w,intp,intn){inti,j,t,k;for(i=p;i<=n-1;i++){t=w[n-1];//保存最后一个数for(j=n-2;j>=0;j--)w[j+1]=w[j];//所有数后移一位w[0]=t;//将最后一个数的数值赋给第一位}}voidmain(){intarr[M]={1,2,3,4,5,6,7,8,9,10,11,12,1..
分类:
编程语言 时间:
2014-09-09 13:50:49
阅读次数:
185
calloc(), malloc(), realloc(), free(),alloca() 内存区域可以分为栈、堆、静态存储区和常量存储区,局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。 利用指针,我们可以像汇编语言一样处理内存地址,C 标准函数库提...
分类:
其他好文 时间:
2014-09-09 12:26:38
阅读次数:
243
//自动更新 //arguments对象为其内部属性以及函数形式参数创建getter和setter方法 //因此,改变形参的值会影响到arguments对象的值,反之亦然。 function changeArgument(arr){ ...
分类:
Web程序 时间:
2014-09-09 11:43:58
阅读次数:
180
可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如: void Func(int array[3][10]); void Func(int array[][10]); 二者都是合法而且等价,但是不能把第二维或者更高维的大小省略,.....
分类:
编程语言 时间:
2014-09-07 12:15:45
阅读次数:
194
class Circle{public: Circle(float r);private: float radius;};Circle::Circle(float r) { radius = r }通常都是这么写的。还有一种写法,类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表).....
分类:
编程语言 时间:
2014-09-05 12:50:21
阅读次数:
266
面向对象程序设计上机练习四(变量引用)
Time Limit: 1000MS Memory limit: 65536K
题目描述
将变量的引用作为函数形参,实现2个int型数据交换。
输入
输入2个int型整数。
输出
输出2个整数交换前后的值。
示例输入
88 66
示例输出
88 66
66 88
把变量的引用作为函数形参,即传送变量的别...
分类:
其他好文 时间:
2014-09-03 09:42:46
阅读次数:
257