Difference between Argument and Parameter in C/C++ with Examples Last Updated : 24 Jun, 2021 Summarize Comments Improve Suggest changes Share Like Article Like Report Argument An argument is referred to the values that are passed within a function when the function is called. These values are generally the source of the function that require the arguments during the process of execution. These values are assigned to the variables in the definition of the function that is called. The type of the values passed in the function is the same as that of the variables defined in the function definition. These are also called Actual arguments or Actual Parameters. Example: Suppose a sum() function is needed to be called with two numbers to add. These two numbers are referred to as the arguments and are passed to the sum() when it called from somewhere else. C // C code to illustrate Arguments #include <stdio.h> // sum: Function definition int sum(int a, int b) { // returning the addition return a + b; } // Driver code int main() { int num1 = 10, num2 = 20, res; // sum() is called with // num1 & num2 as ARGUMENTS. res = sum(num1, num2); // Displaying the result printf("The summation is %d", res); return 0; } C++ // C++ code to illustrate Arguments #include <iostream> using namespace std; // sum: Function definition int sum(int a, int b) { // returning the addition return a + b; } // Driver code int main() { int num1 = 10, num2 = 20, res; // sum() is called with // num1 & num2 as ARGUMENTS. res = sum(num1, num2); // Displaying the result cout << "The summation is " << res; return 0; } Output: The summation is 30 Parameters The parameter is referred to as the variables that are defined during a function declaration or definition. These variables are used to receive the arguments that are passed during a function call. These parameters within the function prototype are used during the execution of the function for which it is defined. These are also called Formal arguments or Formal Parameters. Example: Suppose a Mult() function is needed to be defined to multiply two numbers. These two numbers are referred to as the parameters and are defined while defining the function Mult(). C // C code to illustrate Parameters #include <stdio.h> // Mult: Function definition // a and b are the PARAMETERS int Mult(int a, int b) { // returning the multiplication return a * b; } // Driver code int main() { int num1 = 10, num2 = 20, res; // Mult() is called with // num1 & num2 as ARGUMENTS. res = Mult(num1, num2); // Displaying the result printf("The multiplication is %d", res); return 0; } C++ // C++ code to illustrate Parameters #include <iostream> using namespace std; // Mult: Function definition // a and b are the parameters int Mult(int a, int b) { // returning the multiplication return a * b; } // Driver code int main() { int num1 = 10, num2 = 20, res; // Mult() is called with // num1 & num2 as ARGUMENTS. res = Mult(num1, num2); // Displaying the result cout << "The multiplication is " << res; return 0; } Output: The multiplication is 200 Difference between Argument and Parameter Argument Parameter When a function is called, the values that are passed during the call are called as arguments. The values which are defined at the time of the function prototype or definition of the function are called as parameters. These are used in function call statement to send value from the calling function to the receiving function. These are used in function header of the called function to receive the value from the arguments. During the time of call each argument is always assigned to the parameter in the function definition. Parameters are local variables which are assigned value of the arguments when the function is called. They are also called Actual Parameters They are also called Formal Parameters Example: C int num = 20; Call(num) // num is argument Example: C int Call(int rnum) { printf("the num is %d", rnum); } // rnum is parameter Comment More infoAdvertise with us Next Article Incompatibilities between C and C++ codes C chinmoy lenka Follow Improve Article Tags : C++ Practice Tags : CPP Similar Reads Difference between "int main()" and "int main(void)" in C/C++? Note: This was true for older versions of C but has been changed in C11 (and newer versions). In newer versions, foo() is same as foo(void). Consider the following two definitions of main(). Definition 1: C int main() { /* */ return 0; } C++ int main() { /* */ return 0; } Definition 2: C int main(vo 3 min read Difference between int* p() and int (*p)()? A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, a pointer must be declare before storing any variable address. The general form of a pointer variable declaration is: Syntax: type *var_name; Here, type 2 min read Difference Between Call by Value and Call by Reference in C++ In C++, there are two primary methods to pass an argument to a function: Call by Value and Call by Reference. These methods dictate how data is transferred to functions and how changes to the data are handled.Before we look into the difference, we first need to know what actual and formal parameters 3 min read Whatâs difference between âarrayâ and â&arrayâ for âint array[5]â ? If someone has defined an array such as âint array[5]â, whatâs the meaning of âarrayâ or â&arrayâ? Are they both same or are they different? You might be tempted to think that they both would point to the very first element of the array i.e. they both will have same address. Let us find out! To 4 min read Incompatibilities between C and C++ codes The C/C++ incompatibilities that cause most real problems are not subtle. Most are easily caught by compilers. This section gives examples of C code that is not C++ : 1) In C, functions can be defined using a syntax that optionally specifies argument types after the list of arguments: C // C code th 3 min read array data() in C++ STL with Examples The array::data() is a built-in function in C++ STL which returns an pointer pointing to the first element in the array object. Syntax: array_name.data() Parameters: The function does not accept any parameters. Return Value: The function returns an pointer. Below programs illustrate the above functi 2 min read Like