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,
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
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
Example: ./a.out arg1 arg2 arg3
./a.out - Executable
arg1, arg2, arg3 - command line arguments
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
argv[0]: ./a.out
argv[1]: india
argv[2]: is
argv[3]: my
argv[4]: country
main function in C
Reviewed by Mursal Zheker
on
Selasa, Desember 31, 2013
Rating:
Tidak ada komentar: