For working professionals
For fresh graduates
More
Explore C Tutorials: From Begi…
1. Introduction to C Tutorial
2. Addition of Two Numbers in C
3. Anagram Program in C
4. Armstrong Number in C
5. Array in C
6. Array of Pointers in C
7. Array of Structure in C
8. C Program to Find ASCII Value of a Character
9. Assignment Operator in C
10. Binary Search in C
11. Binary to Decimal in C
12. Bitwise Operators in C
13. Boolean in C
14. C Compiler for Mac
15. C Compiler for Windows
16. C Function Call Stack
17. C Language Download
18. Operators in C
19. C/C++ Preprocessors
20. C Program for Bubble Sort
21. C Program for Factorial
22. C Program for Prime Numbers
23. C Program for String Palindrome
24. C Program to Reverse a Number
25. Reverse a String in C
26. C string declaration
27. String Input Output Functions in C
28. Calculator Program in C
29. Call by Value and Call by Reference in C
30. Ceil Function in C
31. Coding Vs. Programming
32. Command Line Arguments in C/C++
Now Reading
33. Comments in C
34. Compilation process in C
35. Conditional Statements in C
36. Conditional operator in the C
37. Constant Pointer in C
38. Constants in C
39. Dangling Pointer in C
40. Data Structures in C
41. Data Types in C
42. Debugging C Program
43. Convert Decimal to Binary in C
44. Define And include in C
45. Difference Between Arguments And Parameters
46. Difference Between Compiler and Interpreter
47. Difference Between If Else and Switch
48. Do While Loop In C
49. Double In C
50. Dynamic Array in C
51. Dynamic Memory Allocation in C
52. Enumeration (or enum) in C
53. Evaluation of Arithmetic Expression
54. Factorial of A Number in C
55. Features of C Language
56. Fibonacci Series Program in C Using Recursion
57. File Handling in C
58. For Loop in C
59. Format Specifiers in C
60. Functions in C
61. Function Pointer in C
62. goto statement in C
63. C Hello World Program
64. Header Files in C
65. Heap Sort in C Program
66. Hello World Program in C
67. History of C Language
68. How to compile a C program in Linux
69. How to Find a Leap Year Using C Programming
70. Identifiers in C
71. If Else Statement in C
72. If Statement in C
73. Implementation of Queue Using Linked List
74. Increment and decrement operators in c
75. Input and Output Functions in C
76. How To Install C Language In Mac
77. Jump Statements in C
78. Lcm of Two Numbers in C
79. Length of an Array in C
80. Library Function in C
81. Linked list in C
82. Logical Operators in C
83. Macros in C
84. Matrix multiplication in C
85. Nested if else statement in C
86. Nested Loop in C
87. One Dimensional Array in C
88. Operator Precedence and Associativity in C
89. Overflow And Underflow in C
90. Palindrome Program in C
91. Pattern Programs in C
92. Pointer to Pointer in C
93. Pointers in C: A Comprehensive Tutorial
94. Pre-increment And Post-increment
95. Prime Number Program in C
96. Program for Linear Search in C
97. Pseudo-Code In C
98. Random Access Files in C
99. Random Number Generator in C
100. Recursion in C
101. Relational Operators in C
102. Simple interest program in C
103. Square Root in C
104. Stack in C
105. Stack Using Linked List in C
106. Static function in C
107. Stdio.h in C
108. Storage Classes in C
109. strcat() in C
110. Strcmp in C
111. Strcpy in C
112. String Comparison in C
113. String Functions in C
114. String Length in C
115. String Pointer in C
116. strlen() in C
117. Structures in C
118. Structure of C Program
119. Switch Case in C
120. C Ternary Operator
121. Tokens in C
122. Toupper Function in C
123. Transpose of a Matrix in C
124. Two Dimensional Array in C
125. Type Casting in C
126. Types of Error in C
127. Unary Operator in C
128. Use of C Language
129. User Defined Functions in C
130. What is Variables in C
131. Is C language case sensitive
132. Fibonacci Series in C
What are command line arguments in C/C++? How to check command line arguments in C? Get your answers to all these questions through the below-mentioned article. You will also get to learn some of the various use cases and advantages of using command-line arguments in C.
Command-line arguments in C are typically responsible for passing arguments to a C program when it is executed from the terminal or the command line. They provide additional information to the program, enabling it to behave differently based on the input provided.
One of the most important functions of the C programming language is the main () function. It consists of two important parameters, namely,
The ‘argc’, also referred to as argument count, is an integer variable. It stores the total number of command line arguments passed to the program, including the program name.
The ‘argv’, also known as the argument vector, is an array of strings. It holds the actual command line arguments as separate strings.
The syntax for both these parameters are,
int main(int argc, char *argv[]) { /* ... */ } |
and
int main(int argc, char **argv) { /* ... */ } |
Command line arguments allow flexibility and enable customisation of program behaviour without the need for making any changes to the source code itself. Apart from providing input data, they are also responsible for imparting configuration options, file names and any other information as and when required by the program during its runtime.
In C programming language, the function pointer can be defined as a specific variable responsible for storing the memory address of a function. It provides a way to achieve runtime polymorphism in C, where the specific function that needs to be executed can be determined according to the conditions or user input. Function pointers are widely used by programmers in C because it allows for implementing varied patterns such as event handling, function callbacks, and polymorphism, among others.
So how exactly does the function pointer work in C? Let’s find out!
The first and foremost step is to declare a function pointer. To achieve the same, you have to specify the return and the parameter types of the function it will be pointing to. Take this one, for example,
int (*funcPtr)(int, int); |
Here, we have declared the function pointer, ‘funcPtr’, by specifying the return type, which is ‘int’ and the parameter type, ‘int’, of the function.
Following this, we need to assign the address of a function to a function pointer. Going by this above-mentioned example, the syntax for the same will include the following,
int add(int a, int b) { |
Here, we have assigned the ‘add’ address to the function pointer, ‘funcPtr’.
Lastly, we invoke the function via a function pointer with the help of the function call operator (). So, the code will be,
int result = (*funcPtr)(3, 4); |
Please note that in order for the function pointer to be efficient, you need to assign the correct type of function address to it. Otherwise, it might generate or display undefined behaviour.
Command line arguments in C/C++ consist of the following properties,
The command line arguments will generate different outputs in a C program based on the specific implementation or the values provided. For example,
When No Command Line Arguments Are Provided
#include <stdio.h> |
Output
Number of arguments: 1 |
When Single Command Line Argument Is Provided
#include <stdio.h> |
Output
$ ./program_name hello |
When Multiple Command Line Arguments Are Provided
#include <stdio.h> |
Output
$ ./program_name apple banana mango |
Command line arguments in C/C++ serve multiple purposes. From providing input data to language localisation, they are widely used by programmers working with C for a plethora of reasons. Let’s explore a few examples of using command line arguments in C.
Overall, command line arguments provide a versatile mechanism for working with the C programming language. It offers both flexibility and customisation options for developers using C programs.
Let's see how to use command line arguments in a C program.
#include <stdio.h> |
In this example, the program expects a single command line argument that is treated as the name of the person to greet. If the command line argument is provided, then a customised greeting will be generated using that argument. If not, then a generic ‘Hello, World!’ greeting will be generated.
Output
$ ./program_name John |
There are several advantages to using command-line arguments in C. Some of them include,
Command line arguments play quite a crucial role in the C programming language. It not only provides a way for customising and automating several tasks but also simultaneously enhances their versatility and usability.
If you wish to learn more about the same, then do not forget to check out upGrad’s Executive PG Program In Software Development offered under the guidance of IIIT-B. From high-performance coaching to just-in-time interviews and access to the exclusive AI-powered profile builder, it provides numerous benefits to its students.
1. What are the different types of command line arguments used in C?
The main() function of C consists of two different command line arguments. They are, namely, argc and argv. The former denotes the total number of command line arguments, whereas the latter represents an array of command line arguments.
2. What are the disadvantages of command line arguments?
Although command-line arguments bear several advantages in C, there are a few downsides to it as well. For example, the commands have to be typed very precisely. In case any error occurs, you might have to start the whole process from scratch.
3. Can you state the first argument of the command line?
The ‘argv[1]’ is denoted as the first command line argument, whereas ‘argv[argc - 1] is viewed as the last argument in the command line.
Take a Free C Programming Quiz
Answer quick questions and assess your C programming knowledge
Author
Start Learning For Free
Explore Our Free Software Tutorials and Elevate your Career.
Talk to our experts. We are available 7 days a week, 9 AM to 12 AM (midnight)
Indian Nationals
1800 210 2020
Foreign Nationals
+918045604032
1.The above statistics depend on various factors and individual results may vary. Past performance is no guarantee of future results.
2.The student assumes full responsibility for all expenses associated with visas, travel, & related costs. upGrad does not provide any a.