设为首页 加入收藏

TOP

在C中如何使函数返回数组
2014-11-24 14:28:23 来源: 作者: 【 】 浏览:1
Tags:如何 函数 返回

Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。


在C/C++中,一般有两种方法来返回一个数组。


第一种方法:


返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组


例子如下:


第二种方法:


如果你不喜欢用指针的形式返回数组,那么可以采用返回一个结构的形式。这种形式相对较安全,可以避免忘记释放指针而造成内存泄露,


也可以避免访问悬挂指针造成的错误。但缺点是由于结构是先拷贝再返回,因此如果结构较大时,会影响效率和占用较大内存。


例子如下:


注意:


(1) 在返回指针时要切记要避免内存泄露和访问悬挂指针


(2) 很多人认为指针和数组等价的,这是错误的。int (*a)[10]和int b[10]两者是不能直接用a=b来赋值的。在数组和指针作为函数参数传递时,二者可以认为等价,这是因为数组会被转化为指针来传递。


(3) 返回多维数组方法类似。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android加载固定内容数据库的妙法 下一篇Android中限制EditText(输入框)..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: