I have the error : Error: Initializing non-constant-length array with the following C code : typedef enum { A = 0, B = 1 } Enum; int main (){ char arr[((Enum)1)] = "a"; printf("%s\n",arr); } The code above compiles and runs correctly using GCC.