извиняюсь. как всегда забыл указать важное. Использую gcc 4.3.2 (без плюсов).
R>>Что происходит в первом варианте?
E>Адреса полей являются литералами в коде.
Я могу путаться в терминологии, немного не понятно, что ты имеешь ввиду? Под полями в данном случае ты понимаешь поля структуры? Или что-то иное? Вопрос был, куда и с какой скоростью функции обращаются за глобальной статической переменоой? Есть что-нибудь вроде таблицы глобальных переменных? Если есть, то где она и как быстро до неё добраться?
E>В общем случае подход со статической переменной быстрее. Особенно если ты будешь свою структуру инициализировать агрегатом, так как тогда у компилятора будут шансы догадаться до значений и по адресам вообще не лазить...