阵列我想的长长的数组传递到目标c函数。如果可能的话,我希望数组作为指针传递,以便复制不会完成。我写了这个代码:指针在Objective-C函数调用
+ (int) getIndexOfLongLongValue: (long long) value inArray: (long long []) array size: (int) count
{
for (int i =0; i < count; i++)
{
if (array[i] == value)
return i + 1;
}
return 0;
}
,而我通过
long long varname[count];
作为第二个参数。我想知道如果我可以通过这个数组作为指针或者如果这种方法是好的。我不需要指向long long的指针,但指向数组。
谢谢,但我还是不完全明白。比方说,我有一个1000个项目的数组(作为例子),我把它传递给这个函数。使用的内存是否只增加一个指针的大小 - 4-8个字节? – user1122069 2012-07-14 16:36:15
(long long *)数组与long long [])数组是一样的吗? – user1122069 2012-07-14 16:40:19
数组生活在堆上(通常)。当你调用该函数时,你传入的所有内容都是一个指针---数组的位置。 (在C/C++/Objective C中通过数值传递数组实际上很难;你不会偶然这样做)。long long *'和long long []'当用作参数类型时,代表指针。 – 2012-07-14 19:14:51