Передача C выстраивает как символ* параметр функции

Кроме того, в дополнение к тому, что сказал @livo, ваше состояние не очень чистое. Вам лучше написать:

if (Input.GetMouseButtonDown (1)){ 
    if(isHiden){
      // your code
   }else{
      // your code
   }
}
7
задан sipwiz 8 April 2009 в 04:35
поделиться

8 ответов

они - точно то же.

someArray[i]

средства точно

*(someArray + i)

где someArray во втором случае является указателем на ячейку памяти. Точно так же

&someArray[i]

средства точно

(someArray + i)

В обоих этих случаях условия являются указателями на ячейки памяти.

12
ответ дан 6 December 2019 в 04:59
поделиться

Это может быть значительно, если SomeFunction макрос и берет "sizeof" из одного из его аргументов, потому что sizeof(tmpry) может не обязательно быть равно sizeof(&tmpry[0]).

Иначе, как другие указали, они - точно то же.

7
ответ дан 6 December 2019 в 04:59
поделиться

Эти два эквивалентны, и я думаю SomeFunction (tmpry); более читаемо.

12
ответ дан 6 December 2019 в 04:59
поделиться

Раздел FAQ по программированию , посвященный массивам и указателям , решает эту проблему ( и много других общих вопросов и путаницы в Си.

5
ответ дан 6 December 2019 в 04:59
поделиться

Как все остальные сказали, эти две нотации эквивалентны.

Я обычно использовал бы более простой, если нет множественные вызовы как это:

SomeFunction(&tmparry[0]);
SomeFunction(&tmparry[10]);
SomeFunction(&tmparry[NNN]);

Где идеально все константы (магические числа) были бы перечислением (или #define) константы.

3
ответ дан 6 December 2019 в 04:59
поделиться

Декларация

int a [10]; int * pa;

Существует одно различие между массивом и указателем, которое необходимо учитывать. Указатель является переменной, поэтому pa = a и pa ++ допустимы. Но имя массива не является переменной; конструкция типа a = pa и a ++ недопустима

. В качестве параметров формата в определении функции, char s [] а также символ * с

От: 2-й язык программирования C , стр. 99-100

1
ответ дан 6 December 2019 в 04:59
поделиться

Оба являются одними и теми же, хотя второй выглядит хорошим и разъясняет намерение передать массив функции. Но как SomeFunction знает размер передаваемого массива, он всегда принимается как 40? Я чувствую, что лучше передать размер также как параметр в SomeFunction.

1
ответ дан 6 December 2019 в 04:59
поделиться

Эти два варианта являются эквивалентными и передающими как это

SomeFunction(tmpry);

инструмент для очистки взглядов.

1
ответ дан 6 December 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: