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

时间:2009-05-12 16:36:14

标签: c objective-c arrays

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

  • (void)arrayFunction :( Byte [])targetarray {  //对targetarray做一些事情 }

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

提前致谢!

2 个答案:

答案 0 :(得分:5)

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

(void)arrayFunction:(Byte*)targetarray

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

(void)arrayFunction:(NSData*)targetarray

答案 1 :(得分:1)

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

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