Functions
C function definitions
Basic function
Simple C function
#include <stdio.h>
void greet(char name[]) {
printf("Hello, %s!\n", name);
}
int main() {
greet("World");
return 0;
}
Function with return value
Function that returns a value
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
printf("Sum is: %d\n", result);
return 0;
}
C function with parameters
C function with string parameter
#include <stdio.h>
void greet(char name[]) {
printf("Hello, %s!\n", name);
}
int main() {
greet("World");
greet("Alice");
return 0;
}
C function with return value
C function that returns a value
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
printf("Sum is: %d\n", result);
return 0;
}
C function with multiple parameters
C function with multiple parameters
#include <stdio.h>
int max(int a, int b, int c) {
int maximum = a;
if (b > maximum) maximum = b;
if (c > maximum) maximum = c;
return maximum;
}
int main() {
int result = max(10, 25, 15);
printf("Maximum is: %d\n", result);
return 0;
}
C recursive function
C recursive function example
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int n = 5;
printf("Factorial of %d is: %d\n", n, factorial(n));
return 0;
}
C function with array parameter
C function with array parameter
#include <stdio.h>
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printArray(arr, size);
return 0;
}
C function with function pointers
C function with function pointers
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int multiply(int a, int b) {
return a * b;
}
int main() {
int (*operation)(int, int);
operation = add;
printf("Addition: %d\n", operation(5, 3));
operation = multiply;
printf("Multiplication: %d\n", operation(5, 3));
return 0;
}
C function with variable arguments
C function with variable number of arguments
#include <stdio.h>
#include <stdarg.h>
int sum(int count, ...) {
va_list args;
va_start(args, count);
int total = 0;
for (int i = 0; i < count; i++) {
total += va_arg(args, int);
}
va_end(args);
return total;
}
int main() {
printf("Sum: %d\n", sum(3, 10, 20, 30));
printf("Sum: %d\n", sum(5, 1, 2, 3, 4, 5));
return 0;
}