繁体   English   中英

如何通过引用函数传递数组?

[英]How to pass an array in by reference to a function?

我有一个函数有一个数组指针传递它来修改数组中的东西:

  • (void)arrayFunction :( Byte [])targetarray {//做东西到targetarray}

它是Byte类型的数组,但我认为我没有把正确的东西放在圆括号中。 应该是什么而不是(Byte [])? 可能有几个不同大小的数组传递给此函数

提前致谢!

如果它是一个普通的数组,我会这样做:

(void)arrayFunction:(Byte*)targetarray

或者,为了更“OO-ish”,使用NSData而不是字节数组:

(void)arrayFunction:(NSData*)targetarray

看起来你正在使用普通的C数组。 请记住,数组指针只是指向数组中第一个元素的指针。 您没有将“整个数组”作为引用传递,您只需将指针传递给索引0即可。

如果要传递数组,则应将参数定义为指针Byte* ,因为这是传递简单C数组时的实际情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM