Vit (02.10.2015 10:49, просмотров: 210) ответил symbions на >По указателю структуру передавать не годится?
На Си. a[i] эквивалентно *(a+i) и даже эквивалентно i[a]. *(TimeOrAlarm->t + SECONDS) можно переписать через точку (*TimeOrAlarm).t[SECONDS], может и *TimeOrAlarm.t[SECONDS] прокатит. Между обращениями через точку и через стрелочку разницы в результате не должно быть. По стрелочке смещения рассчитываются на этапе компиляции. При обращении через точку, т.е. по значению, смещение может рассчитываться в рантайме. Просто вумные компиляторы/оптимизаторы это дело стараются рассчитать на этапе компиляции, но ещё встречаются не слишком щепетильные.