Main function (programming)
In some programming languages, the main function is where a program starts execution.
It is the first user-written function run when a program starts (some system-specific software generally runs before the main function). The main function usually organizes at a high level the functionality of the rest of the program. The main function typically has access to the program's command-line arguments.
Table of contents |
C and C++
In C and C++, the function prototype of the main function is:
int main(int argc, char **argv)
The parameters argc and argv respectively give the number and value of the program's command-line arguments. Some systems permit a third parameter envp, which gives access to the program's environment.
The name main is special; normally every C and C++ program must define precisely one function of that name.
Java
Java programs start executing at the main method, which has the following method heading:
public static void main(String[] args)
Command-line arguments are passed in args. As in C and C++, the name "main" is special. Java's main methods don't return anything.
Python
In Python a function called main doesn't have any special significance. However, it is common practice to organize a program's main functionality in a function called main and call it with code similar to the following:
def main():
<main program>
if __name__ == "__main__":
main()
When a Python program is executed directly (as opposed to being imported from another program), the special global variable __name__ has the value "__main__".