I was writing a program that involves `malloc` to create a global array. I tried this (outside `main()`, of course):

```
int *arr=malloc(5*sizeof(int));

```

In the GCC compiler, the following error is flashed:

```
main.c:4:10: error: initializer element is not constant
 int *arr=(int *)malloc(5*sizeof(int));
          ^

```

I tried this on Dev-C++, but no such error interrupted the compilation. 
What is meant by the error and why is it specific to GCC?