重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C/C++不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、当涂网络推广、重庆小程序开发公司、当涂网络营销、当涂企业策划、当涂品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供当涂建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
一般有两种方法来返回一个数组。
第一种方法:
返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组
第二种方法:
如果你不喜欢用指针的形式返回数组,那么可以采用返回一个结构的形式。这种形式相对较安全,可以避免忘记释放指针而造成内存泄露,也可以避免访问悬挂指针造成的错误。但缺点是由于结构是先拷贝再返回,因此如果结构较大时,会影响效率和占用较大内存。
这是C的限制,Python调用C也是这种情况
Python中的sum函数,无第二参数时,返回的是数值不是数组,数值为参数1中的数组或其它可迭代对象的全加之和。
在下列几种情况下,sum函数返回数组:(Python 3版本)
使用了第二参数为axis=0,并且参数1是二维对象,则按列相加并返回数组;
使用了第二参数为axis=1,并且参数1是二维对象,则按行相加并返回数组;
导入了Numpy模块,并使用了Numpy中的sum函数,并且参数1是二维对象,则默认就是axis=0,即按列相加并返回数组;
import numpy as np
#python中自带的sum
sum([[1,2,3],[4,5,5]]) #返回数值 20
sum([[1,2,3],[4,5,5]],axis=0) #返回数组 [5 7 8]
sum([[1,2,3],[4,5,5]],axis=1) #返回数组 [6 14]
#Numpy中的sum
a = np.sum([[1,2,3], [4,5,5]]) #返回数组 [5 7 8]
注:NumPy是Python的一种开源的数值计算扩展。
使用返回值的方法有两种:
可以直接把调用的函数作为变量使用
可以用调用函数给一个变量赋值
第一种情况见如下例子:
l = [1,2,3,4,5]
def add_element(list, element):
list.append(element)
return list
print add_element(l, 6)
# [1,2,3,4,5,6]
print add_element(l, 6)[5]
# 6
第二种情况:
l1 = add_element(l, 6)
print l1
# [1,2,3,4,5,6]
print l1[5]
# 6
注意: 以上例子都是应用于python 2.x