The #define is a C-directive which is also used to define the aliases for various data types similar to typedef but with
three differences: The typedef is limited to giving symbolic names to types only where as #define can be used to define alias for values as well, like you can define 1 as ONE etc. The typedef interpretation is performed by the compiler where as #define statements are processed by the pre- processor.