【发布时间】:2009-05-12 16:36:13
【问题描述】:
我有一个函数,它传递了一个数组指针来修改数组中的内容:
- (void) arrayFunction:(Byte[])targetarray { // 对目标数组做一些事情 }
这是一个字节类型的数组,但我认为我没有把正确的东西放在圆括号中。它应该是什么而不是(Byte [])?可能有几个不同大小的数组传递给这个函数
提前致谢!
【问题讨论】:
标签: c objective-c arrays
我有一个函数,它传递了一个数组指针来修改数组中的内容:
这是一个字节类型的数组,但我认为我没有把正确的东西放在圆括号中。它应该是什么而不是(Byte [])?可能有几个不同大小的数组传递给这个函数
提前致谢!
【问题讨论】:
标签: c objective-c arrays
如果它是一个普通的旧数组,我会这样做:
(void)arrayFunction:(Byte*)targetarray
或者,更“OO-ish”,使用 NSData 而不是字节数组:
(void)arrayFunction:(NSData*)targetarray
【讨论】:
看起来您使用的是普通的 C 数组。请记住,数组指针只是指向数组中第一个元素的指针。您不会将“整个数组”作为引用传递,您只需传递索引 0 处的指针。
如果您要传递数组,您应该将参数定义为指针Byte*,因为当您传递一个简单的 C 数组时,它实际上就是这样。
【讨论】: