1.在C语言中,我们没有办法将一个数组作为函数参数传递,如果我们使用数组名作为参数,这个时候数组名立刻会被转换为指向该数组的第一个元素的指针。
关于这一点的理解可以向前深入一步,比如定义的数组为int a[3],那么a作为参数传递之后会变为int *类型;如果定义的数组为int a[3][4],那么a作为参数传递之后被变为int (*)[4];如果定义的数组为int a[3][4][5]...
分类:
其他好文 时间:
2014-10-11 18:27:45
阅读次数:
205
一、函数的定义格式:
def 函数名(参数列表):
函数体
def fun1(a, b, c):
return a + b + c
二、位置传递:位置对应
print(fun1(3 ,2 ,1))
输出:
6
三、关键字传递:位置参数要出现在关键字参数之前
print(fun1(3 ,c = 1, b = 2))
输出:
6
四、参数默认值:可以给...
分类:
编程语言 时间:
2014-10-09 15:28:58
阅读次数:
197
C语言函数参数传递的方式可分为3种:值传递,地址传递。(C++中还有引用传递)通常的建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。因而如果int,char等固有类型,而是你自己定义的类或结构等,都建议传指针或引..
分类:
其他好文 时间:
2014-09-30 03:18:42
阅读次数:
181
今天来个简单的题目,轻松一下:) 相信很多人对这个问题都不陌生,只要是个Java程序员,肯定就用过这几个类: 1、String是个不可变对象,这就意味着每次字符串拼接都是创建了新的实例 2、StringBuilder和StringB...
分类:
编程语言 时间:
2014-09-25 14:32:49
阅读次数:
251
通过Map.entrySet()的返回结果,能够删除原始HashMap中存储的键值对。如果我们将Set<Map.Entry> allEntrys 作为函数参数传递给不可信代码,那么外部的恶意代码就能删除原始HashMap中存储的数据。所以我们应该避免传递Set<Map.Entry>作为函数参数,防止外部代码恶意的或者不小心修改了原始的数据。这个隐藏的功能不是所有的java程序员都知道,所以需要注意下,以免编程出错。...
分类:
其他好文 时间:
2014-09-17 20:29:32
阅读次数:
219
Python的函数参数传递:传值?引用?对于变量(与对象相对的概念),其实,python函数参数传递可以理解为就是变量传值操作(注意哦,我说的是变量,不是对象 =_= )接着说例子好了:def ChangeInt( a ): a = 10 # change the numbernfoo = 2Cha...
分类:
编程语言 时间:
2014-09-13 13:15:15
阅读次数:
215
在此声明自己的水平非常的有限,用博客来在众人面前写文章实在是在众人面前出丑吧,但是出来混嘛,脸皮一定要厚!Python的元组和list很相像,但是列表中的元素是可变对象,元组是不可变的对象。列表的输出是中括号包围,元组的输出使用圆括号包围。元组的各个元素用逗号分隔,所以可以利用这个特点创建一个元组:...
分类:
编程语言 时间:
2014-09-10 22:20:01
阅读次数:
211
Python学习字典1)字典的了解1.字典是python中唯一的映射类型(哈希表)2.字典对象时可变的,但是字典的键必须使用不可变对象,并且在一个字典中可以使用不同的类型的键值。3.keys()或者是values()返回列表中或者值列表4.items()返回包含键值对应的元祖1)定义字典的方法和..
分类:
编程语言 时间:
2014-09-10 19:42:11
阅读次数:
262
参数传递:值传递:略引用参数:ref输出参数:out用法类似,ref在声明和传参的时候均需要使用;同理,out也是;但out参数在函数中如果未经赋值就使用则会报错;参数数组传递;paramsparams int[] array:类似语法,直接传入数组名即可调用;也可以直接foo(1,2,3,4)这样...
分类:
其他好文 时间:
2014-09-10 13:58:00
阅读次数:
206
这篇记录一下保证并发安全性的策略之——不变性。下面是一段音乐,歌名是——不可变对象^^将一连串行为组织为一个原子操作以保证不变性条件,或者使用同步机制保证可见性,以防止读到失效数据或者对象变为不一致状态,这些问题都是因为共享了可变的数据。如果我们能保证数据不..
分类:
其他好文 时间:
2014-09-08 11:00:57
阅读次数:
583