1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
/* Compound literals, added to C99 */
struct simple {
int a;
int b;
};
typedef struct simple simple_t;
int main (/*@unused@*/ int argc, /*@unused@*/ char **argv) {
/* This works */
struct simple simple1 = {1,2};
/* These don't */
struct simple simple2 = (struct simple){1,2};
simple_t simple3 = (((((((simple_t){1,2}))))));
simple2 = (struct simple) { 1, 2 };
printf("%d, %d\n", simple1.a, simple1.b);
printf("%d, %d\n", simple2.a, simple2.b);
printf("%d, %d\n", simple3.a, simple3.b);
return 1;
}
|