陣列我想的長長的數組傳遞到目標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