What is the main() function in C?

The main function in C programming is a special function that serves as the entry point for the execution of a C program. It is the function that is automatically called when the program is run.

The main function has the following signature:

int main(void) { // Function body return 0; }
  1. int is the return type of the function. It indicates whether the program executed successfully or not, with 0 conventionally representing a successful execution.
  2. void in the parameter list indicates that main takes no arguments, although you can use int main(int argc, char *argv[]) to receive command-line arguments if needed.

Entry Point

The main function is the starting point of the program. When the program is run, the execution begins from the first statement within the main function.

The main function can return an integer value using the return statement. A return value of 0 typically indicates successful execution, while a non-zero value suggests an error or abnormal termination.

int main(void) { // Function body return 0; // Successful execution }

Command-Line Arguments

If you need to accept command-line arguments, you can use an alternative form of the main function:

int main(int argc, char *argv[]) { // Function body return 0; }
  1. argc (argument count) represents the number of command-line arguments passed to the program.
  2. argv (argument vector) is an array of strings containing the command-line arguments.
int main(int argc, char *argv[]) { for (int i = 0; i < argc; i++) { printf("Argument %d: %s\n", i, argv[i]); } return 0; }

In this example, the program prints the command-line arguments passed to it.

Execution Flow

The statements within the main function define the execution flow of the program. You can include any C code necessary to perform the desired tasks.

#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }

In this example, the printf function is called to display "Hello, world!" when the program is executed.

Execution Termination

When the main function finishes executing (either by reaching the end or encountering a return statement), the program terminates. The return value from main is typically used by the operating system to determine the program's exit status.

Error Handling

A non-zero return value from main is often used to indicate an error condition. This can be useful for scripting or automation purposes, where a non-zero exit code signals an issue.

int main(void) { // Function body return 1; // Error exit code }


The main function in C programming is the entry point of the program, where execution begins. It has a specific signature, can accept command-line arguments, defines the program's logic, and typically returns an exit status code to indicate the success or failure of the program. Understanding the main function is essential for writing and running C programs.