Здравствуйте, KinK, Вы писали:
KK>А вот это:
KK>if (obj[j].arr[z])
KK> x = y + obj[j].arr[z];
KK>
KK>на это:
KK>if (tmp = obj[j].arr[z])
KK> x = y + tmp;
KK>
KK>менять наверное не стоит.
Стоит, я бы даже так написал:
tmp = obj[j].arr[z];
if (tmp != 0)
x = y + tmp;
KK>Доступ к элементу массива наверное не дольше чем доступ к локальной переменной, а вот инициализация переменной наверное немного вреаени сожрёт. Да и читаемость текста ухудшается...
Доступ к элементу массива дольше, чем доступ к локальной переменной. Переменная может и в регистре процессора храниться, а за массивом нужно в память лезть...

А читаемость по-моему ничуть не хуже.
PS:
Ассемблерный листинг, выдаваемый компилятором — лучший помощник при оптимизации.