main function in C

main() function is mandatory for any C program.  Because, the program execution starts from main().  Default return type for main function is an integer.  Return value from main function could help us to find the exit status of a C program.

Consider the following example,
 
#include <stdio.h>
int main() {
int val;
printf("Enter an integer: ");
scanf("%d", &val);

if (val < 0) {
printf("%d is negative\n", val);
return (-1);
} else {
printf("%d is positive\n", val);
return (val);
}
}

  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  Enter an integer: -1
  -1 is negative
  jp@jp-VirtualBox:~/$ echo $?
  255  // exit status of the program
  jp@jp-VirtualBox:~/$ ./a.out
  Enter an integer: 50
  50 is positive
  jp@jp-VirtualBox:~/$ echo $?
  50  // exit status of the program


How to get exit status of a command?
"echo $?" provides exit status of any program.  Here, the exit codes of our program are the return values from main function.  Exit codes are from 0 to 255(unsigned char).  So, shell would return 255 for the exit code -1(wraparound occurs).

What is command line argument?
Basically, command is an executable used to perform a specific task(eg. ls command). Any arguments supplied to an executable(command) are called command line arguments.

Example:
ls -a  => lists all files in a directory(including hidden files)

Here,
ls  - command
-a - command line argument

main function with command line arguments:
main function can be written with no arguments or with command line arguments.

Consider the following example,
int main(int argc, char *argv[]) {
         : 
       return 0;
}

Here, we have written main function with command line arguments.
argc and argv are command line arguments.
argc    - number of command line arguments
*argv[] - array of character pointers

How to pass command line arguments in C?
While executing program in the shell, we can supply arguments along with executable name.

Example: ./a.out   arg1  arg2  arg3
./a.out  - Executable
arg1, arg2, arg3 - command line arguments

Example C program to illustrate command line arguments:
 
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
for (i = 0; i < argc; i++) {
printf("argv[%d]: %s\n", i, argv[i]); // prints command line arguments
}
return 0;
}

  Output:
  jp@jp-VirtualBox:~/$ ./a.out india is my country
  argv[0]: ./a.out
  argv[1]: india
  argv[2]: is
  argv[3]: my
  argv[4]: country



main function in C main function in C Reviewed by Mursal Zheker on Selasa, Desember 31, 2013 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.