2013-09-24 2 views
1

Глупый вопрос, это хороший способ изменить значение параметра функции внутри функции или создать другую переменную, чтобы удерживать ее, какая из них лучше? например:изменение функции значение параметра внутри функции в C

s16 functionA(s16 sum) { 
u8 addy = 5; 
sum += addy; 
return sum; 
} 

ИЛИ

s16 functionA(s16 origin) { 
u8 addy = 5; 
s16 sum = origin + addy; 
return sum; 
} 

Спасибо.

ответ

2

Это нормально, чтобы написать параметр, и может быть даже лучше по производительности в зависимости от того, насколько умный компилятор.

С другой стороны, ваш пример также может быть записана в виде:

s16 functionA(s16 sum) 
{ 
    const u8 addy = 5; /* Assuming this is more complex in reality. */ 
    return sum + addy; 
} 

Там нет смысла в присвоении sum, а затем вернуть его, два заявления могут быть объединены.

0

ИЛИ

s16 functionA(s16 origin) { 
    u8 addy = 5; 
    return origin + addy; 
} 
0

Поскольку второй один не улучшает читаемость, я бы выбрал первое.

Кроме того, он сохраняет 2 байта в стеке, что может быть хорошо во встроенной среде (но очень вероятно, что компилятор оптимизирует его).

 Смежные вопросы

  • Нет связанных вопросов^_^