Run C Program Without Main Function
Conceptually C Program is meaningless without main Function . Every Program Must have Main Function.
Main Function :
Conceptually C Program is meaningless without main Function . Every Program Must have Main Function.
Main Function :
- It is Entry Point of Every C Program.
- All Predefined and User-defined Functions are called directly or indirectly through the main.
- So C Program Must have Main Function.
But I have decided not to write main and want to run C Program , How ?
We have 3 approaches of Writing C Program without using main().
We have 3 approaches of Writing C Program without using main().
Way 1 : Using #define Preprocessor Directive
#include<stdio.h>
#define begin main
int begin()
{
printf("Hello");
return (0);
}
What Preprocessor is doing Here ?
- Save C Program using Extension .C
- Before Program is given to compiler program is processed by Preprocessor .
- begin main
- Source Program is scanned from Left to Right and from Top to Bottom and “begin” is replaced by “main”
- So Programmer feels that “He has written Code Without using Main , but internally begin is already converted into main”
Way 2 : Using #define Token Merging Operator
#include<stdio.h>
#define begin m##a##i##n
void begin()
{
printf("Hello");
}
Explaination
- The ‘##‘ operator is called the token pasting or token merging operator.
- That is we can merge two or more characters with it.
Way 3 : Using Argumented Macro
#include<stdio.h> #define begin(m,a,i,n) m##a##i##n #define start begin(m,a,i,n) void start() { printf("Hello"); }