HOME C C++ PYTHON JAVA HTML CSS JAVASCRIPT BOOTSTRAP JQUERY REACT PHP SQL AJAX JSON DATA SCIENCE AI

C Function Parameters


Parameters and Arguments

Information can be passed to functions as a parameter. Parameters act as variables inside the function.

Parameters are specified after the function name, inside the parentheses. You can add as many parameters as you want, just separate them with a comma:

Syntax

returnType functionName(parameter1, parameter2, parameter3) {

// code to be executed

}

The following function that takes a string of characters with name as parameter. When the function is called, we pass along a name, which is used inside the function to print "Hello" and the name of each person.

Example

#include <stdio.h>

void myFunction(char name[]) {

printf("Hello %s\n", name);

}

int main() {

myFunction("Raja");

myFunction("Randhir");

myFunction("Ankit");

return 0;

}

Output

Hello Raja

Hello Randhir

Hello Ankit

When a parameter is passed to the function, it is called an argument. So, from the example above: name is a parameter, while Raja, Randhir and Ankit are arguments.


Multiple Parameters

Inside the function, you can add as many parameters as you want:

Example

#include <stdio.h>

void myFunction(char name[], int age) {

printf("Hello %s. You are %d years old\n", name, age);

}

int main() {

myFunction("Raja", 3);

myFunction("Randhir", 14);

myFunction("Ankit", 30);

return 0;

}

Output

Hello Raja

Hello Randhir

Hello Ankit

Note that when you are working with multiple parameters, the function call must have the same number of arguments as there are parameters, and the arguments must be passed in the same order.


Pass Arrays as Function Parameters

You can also pass arrays to a function:

Example

#include <stdio.h>

void myFunction(int myNumbers[5]) {

for (int i = 0; i < 5; i++) {

printf("%d\n", myNumbers[i]);

}

}

int main() {

int myNumbers[5] = {10, 20, 30, 40, 50};

myFunction(myNumbers);

return 0;

}

Output

10

20

30

40

50

Example Explained

The function (myFunction) takes an array as its parameter (int myNumbers[5]), and loops through the array elements with the for loop.

When the function is called inside main(), we pass along the myNumbers array, which outputs the array elements.

Note that when you call the function, you only need to use the name of the array when passing it as an argument myFunction(myNumbers). However, the full declaration of the array is needed in the function parameter (int myNumbers[5]).


Return Values

The void keyword, used in the previous examples, indicates that the function should not return a value. If you want the function to return a value, you can use a data type (such as int or float, etc.) instead of void, and use the return keyword inside the function:

Example

#include <stdio.h>

int myFunction(int x) {

return 5 + x;

}

int main() {

printf("Result is: %d", myFunction(3));

return 0;

}

Output

Result is: 8

This example returns the sum of a function with two parameters:

Example

#include <stdio.h>

int myFunction(int x) {

return 5 + x;

}

int main() {

printf("Result is: %d", myFunction(5, 3));

return 0;

}

Output

Result is: 8

You can also store the result in a variable:

Example

#include <stdio.h>

int myFunction(int x) {

return 5 + x;

}

int main() {

int result = myFunction(5, 3);

printf("Result is = %d", result);

return 0;

}

Output

Result is: 8


Real-Life Example

To demonstrate a practical example of using functions, let's create a program that converts a value from fahrenheit to celsius:

Example

#include <stdio.h>

// Function to convert Fahrenheit to Celsius

float toCelsius(float fahrenheit) {

return (5.0 / 9.0) * (fahrenheit - 32.0);

}

int main() {

// Set a fahrenheit value

float f_value = 98.8;

// Call the function with the fahrenheit value

float result = toCelsius(f_value);

// Print the fahrenheit value

printf("Fahrenheit: %.2f\n", f_value);

// Print the result

printf("Convert Fahrenheit to Celsius: %.2f\n", result);

return 0;

}

Output

Fahrenheit: 98.80

Convert Fahrenheit to Celsius: 37.11