That is truly EVIL, a global array has the same name as a struct?
Anyway its just setting the i field in the structure to the value supplied so:
Code:
struct foo
{
int a;
int b;
int c;
int i;
};
struct foo foo_array[] = {.a = 0, 1, 0, .i = 4};
So it more than likely that global_pref has a structure which has an i field.