const declara un espacio estático de memoria dentro del programa, define es una directiva (macro) de preprocesador que lo que hace es sobreescribir el codigo antes de compilar...
ejemplo de define...
este programa
#define mult( f1, f2 ) ( f1 * f2 )
#define valor 50
int main(){
int a = 1;
int b = valor;
int c = mult(a,b);
return 0;
}
si estás en linux, puedes usar el comando
gcc -E archivo.c para que en lugar de compilar, te muestre el archivo despues de ser pasado por el preprocesador, verás que se covierte en
int main(){
int a = 1;
int b = 50;
int c = ( a * b );
return 0;
}
y esto ultimo será lo que se compile