Question: I am trying to learn C and finding myself getting stuck a lot, no complains :)

Anyway, I wrote a program and GCC does not like it. The following code is NOT the program, but demonstrate the problem:

```
#define MAXLINE = 1000

int main()
{
   int tmp = MAXLINE;
   char line[MAXLINE];

   return 0;
}

```

When it is compiled, I get the following error:

> 
> test.c:7: error: expected expression before ‘=’ token
> 
> 
> 

If I replace symbolic constant MAXLINE with int 1000, everything works.

What is going on?

Answer: 
When the preprocessor replaces your definition of `MAXLINE`, your code is changed to

```
int main()
{
   int tmp = = 1000;
   char line[= 1000];
   return 0;
}

```

The C preprocessor is very dumb! Do not put anything extra in your #defines (no equals, no semicolons, no nothing)
Use **#define** without '=':

```
#define MAXLINE 1000

```