Why is this?
Code:
#include <stdio.h>

struct idata_t {
    int max, cmax, pline;
    char *name, *data[100];
};

int main(void) {
    struct idata_t one = {.max = 2, .cmax = 0, .pline = 1, .name = "hippo", .data = 0};

    struct idata_t two = {.max = 2, .data = 0, .pline = 1, .name = "hippo", .cmax = 0};

    return 0;
}
The line in red causes a syntax error, while the green one doesn't!

I'm using Dev-C++ 4 if that helps (4, not 4.9.9.2).