C Programming Language Tutorial
Variables and Data Types
Input/Output
Looping and Selection Structures
Array
Functions
Preprocessing Command
Pointer
Structure
File Operations
Important Knowledge
In the C programming language, functions are a fundamental building block for structuring and organizing code. Functions are self-contained blocks of code that perform a specific task and can be called by other parts of the code. This tutorial will explain the basics of functions in C, including their syntax, how to define and call them, and some examples.
The basic syntax for defining a function in C is as follows:
return_type function_name(parameter_list) { // function body // ... return result; }
return_type
: The data type of the value returned by the function (e.g., int
, float
, void
, etc.).function_name
: The name of the function.parameter_list
: A comma-separated list of parameters with their data types. These are the input values passed to the function.function body
: The block of code that makes up the function, enclosed by curly braces {}
.return result;
: The return
statement sends the result back to the calling code. For functions with a void
return type, no value is returned.Here's an example of a simple function definition:
#include <stdio.h> // Function to add two integers int add(int a, int b) { int sum = a + b; return sum; } int main() { int x = 10, y = 20; int result = add(x, y); printf("The sum of %d and %d is %d\n", x, y, result); return 0; }
In this example, we've defined a function called add
that takes two integer parameters, a
and b
, and returns their sum. The main
function calls the add
function with two integer values x
and y
and stores the result in a variable result
.
To call a function, use its name followed by a set of parentheses containing the argument values that correspond to the parameters in the function definition:
function_name(argument_list);
In the previous example, we called the add
function as follows:
int result = add(x, y);
A function prototype, also known as a function declaration, is used to provide information about a function before its definition is encountered. Function prototypes are particularly useful in larger programs to ensure that functions are called with the correct number and types of arguments. A function prototype includes the return type, function name, and parameter list but does not include the function body:
return_type function_name(parameter_list);
Here's the previous example with a function prototype added:
#include <stdio.h> // Function prototype int add(int a, int b); int main() { int x = 10, y = 20; int result = add(x, y); printf("The sum of %d and %d is %d\n", x, y, result); return 0; } // Function definition int add(int a, int b) { int sum = a + b; return sum; }
In summary, functions are a fundamental building block in C programming for structuring and organizing code. Functions are self-contained blocks of code that perform a specific task and can be called by other parts of the code. The basic syntax for defining a function includes a return type, function name, parameter list, function body, and a return statement. Functions can be called by providing their name along with a list
Function Prototypes and Declarations in C:
#include <stdio.h> // Function prototype or declaration void greet(); int main() { // Calling the function greet(); return 0; } // Function definition void greet() { printf("Hello, World!\n"); }
Defining and Calling Functions in C Programming:
#include <stdio.h> // Function declaration void greet(); int main() { // Calling the function greet(); return 0; } // Function definition void greet() { printf("Hello, World!\n"); }
Return Values in C Functions:
#include <stdio.h> // Function declaration int add(int a, int b); int main() { // Calling the function and using the return value int result = add(3, 4); printf("Result: %d\n", result); return 0; } // Function definition int add(int a, int b) { return a + b; }
Function Parameters and Arguments in C:
#include <stdio.h> // Function declaration void displayInfo(char name[], int age); int main() { // Calling the function with arguments displayInfo("John", 25); return 0; } // Function definition void displayInfo(char name[], int age) { printf("Name: %s, Age: %d\n", name, age); }
Recursive Functions in C Language:
#include <stdio.h> // Recursive function declaration int factorial(int n); int main() { // Calling the recursive function int result = factorial(5); printf("Factorial: %d\n", result); return 0; } // Recursive function definition int factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } }
Function Pointers in C Programming:
#include <stdio.h> // Function prototype void sayHello(); int main() { // Function pointer declaration void (*functionPointer)() = sayHello; // Calling the function using the pointer functionPointer(); return 0; } // Function definition void sayHello() { printf("Hello, Function Pointer!\n"); }