I am trying to use arrays as global variables. It seems that I cannot use a previously initialized variable such as `l` for dimensioning the arrays and I get the following error

error: array bound is not an integer constant before ']' token.

However, this is possible when I try to use the same thing inside the `main` function.

Can someone explain what is happening here?

```
//  If you move the following lines inside the main function then everything works fine

int l = 3;
int a[l] = {1, 2, 3};

int main()
{
    return 0;
}

```