C Programming - Functions
C Programming - Functions
Functions in C programming allow code to be modularized and reused, making programs easier to
manage and debug. A function is a block of code that performs a specific task and can be called multiple
times within a program.
1. Types of Functions in C
1. Library (Built-in) Functions – Functions provided by C libraries (e.g., printf(), scanf(), sqrt(), etc.).
2. Structure of a C Function
CopyEdit
return_type function_name(parameter_list) {
Syntax:
CopyEdit
return_type function_name(parameter_list);
Example:
c
CopyEdit
b) Function Definition
Example:
CopyEdit
return a + b;
c) Function Call
Example:
CopyEdit
CopyEdit
#include <stdio.h>
// Function prototype
int main() {
return 0;
// Function definition
return a + b;
Output:
makefile
CopyEdit
Sum: 30
CopyEdit
#include <stdio.h>
void greet() {
printf("Hello, welcome!\n");
int main() {
greet();
return 0;
CopyEdit
#include <stdio.h>
int main() {
displayMessage("Alice");
return 0;
CopyEdit
#include <stdio.h>
int getNumber() {
return 42;
int main() {
return 0;
}
Output: Number: 42
CopyEdit
#include <stdio.h>
return a * b;
int main() {
return 0;
Output: Product: 20
Example:
CopyEdit
#include <stdio.h>
void modify(int x) {
x = 20;
int main() {
modify(num);
return 0;
Example:
CopyEdit
#include <stdio.h>
*x = 20;
int main() {
modify(&num);
return 0;
}
7. Recursive Functions in C
CopyEdit
#include <stdio.h>
int factorial(int n) {
if (n == 0)
return 1;
else
int main() {
int num = 5;
return 0;
1. Local Variables: Declared inside a function, available only within that function.
2. Global Variables: Declared outside all functions, accessible throughout the program.
CopyEdit
#include <stdio.h>
void counter() {
count++;
int main() {
counter();
counter();
counter();
return 0;
Output:
makefile
CopyEdit
Count: 1
Count: 2
Count: 3
Instead of writing small functions, macros can be used to reduce function call overhead.
CopyEdit
return 0;
Output: Square: 25
Summary of Functions in C
Static Variables Retains value across function calls static int count = 0;