Expresión esperada antes del token ‘=’ en C

Aunque el preprocesador asigna i = 3.14159265. Cuando lo compilo, da un error que dice que se espera una expresión antes de ‘=’ token ¿qué y por qué es eso?

#include  #define PI = 3.14159265 int main() { float i; i = PI; printf("My first Linux program\n"); return 0; } 

 #define PI = 3.14159265 

define que PI sea = 3.14159265 que incluye literalmente el signo igual. Así i = PI; es lo mismo que:

 i = = 3.14159265; 

que claramente no comstackrá. Para solucionarlo, elimine el = de su definición de PI:

 #define PI 3.14159265 

No necesita el ‘=’ cuando usa la palabra clave define. Incluirlo incluirá el ‘=’ en la definición.

 #define PI 3.14159265