Как передать массив в ссылку на функцию? - PullRequest
4 голосов
/ 12 мая 2009

У меня есть функция, которой передан указатель массива для изменения содержимого массива:

  • (void) arrayFunction: (Byte []) targetarray { // делать вещи для targetarray }

Это массив типа Byte, но я не думаю, что я поставил правильную вещь в круглые скобки. Что должно быть вместо (Byte [])? Для этой функции может быть передано несколько массивов разных размеров

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 12 мая 2009

если это обычный старый массив, я бы просто сделал это:

(void)arrayFunction:(Byte*)targetarray

Или, чтобы быть более «устаревшим», используйте NSData вместо байтового массива:

(void)arrayFunction:(NSData*)targetarray
1 голос
/ 12 мая 2009

Похоже, вы используете обычный массив C. Помните, что указатели массива - это просто указатели на первый элемент в массиве. Вы не передаете «весь массив» как ссылку, вы просто передаете указатель с индексом 0.

Если вы передаете массив, вы должны определить свой параметр как указатель, Byte*, потому что это действительно так, когда вы передаете простой массив C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...