Standard Library Functions in C
Introduction
The C Standard Library provides a collection of functions, macros, and types that allow developers to perform common tasks such as input/output operations, memory management, string manipulation, and more. These functions are organized into various header files, each serving a specific purpose.
Input/Output Functions
The stdio.h header file contains functions for standard input and output operations. Some of the commonly used functions are:
printf: Prints formatted output to the standard output (usually the screen).scanf: Reads formatted input from the standard input (usually the keyboard).fopen: Opens a file and returns a file pointer.fclose: Closes a file.fread: Reads data from a file.fwrite: Writes data to a file.
Example: Using printf and scanf
#include <stdio.h>
int main() {
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("You are %d years old.\n", age);
return 0;
}
Enter your age: 25
You are 25 years old.
String Manipulation Functions
The string.h header file contains functions for manipulating strings. Some of the commonly used functions are:
strlen: Returns the length of a string.strcpy: Copies one string to another.strcat: Concatenates two strings.strcmp: Compares two strings.strchr: Finds the first occurrence of a character in a string.strstr: Finds the first occurrence of a substring in a string.
Example: Using strlen and strcpy
#include <stdio.h>
#include <string.h>
int main() {
char source[] = "Hello, World!";
char destination[20];
strcpy(destination, source);
printf("Source: %s\n", source);
printf("Destination: %s\n", destination);
printf("Length of source: %zu\n", strlen(source));
return 0;
}
Source: Hello, World!
Destination: Hello, World!
Length of source: 13
Memory Management Functions
The stdlib.h header file contains functions for dynamic memory allocation and other utility functions. Some of the commonly used functions are:
malloc: Allocates memory dynamically.calloc: Allocates memory for an array and initializes it to zero.realloc: Resizes previously allocated memory.free: Frees dynamically allocated memory.
Example: Using malloc and free
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr;
int n, i;
printf("Enter number of elements: ");
scanf("%d", &n);
ptr = (int*) malloc(n * sizeof(int));
if (ptr == NULL) {
printf("Memory not allocated.\n");
return 1;
}
printf("Memory successfully allocated using malloc.\n");
for (i = 0; i < n; ++i) {
ptr[i] = i + 1;
}
printf("The elements of the array are: ");
for (i = 0; i < n; ++i) {
printf("%d ", ptr[i]);
}
free(ptr);
printf("\nMemory successfully freed.\n");
return 0;
}
Enter number of elements: 5
Memory successfully allocated using malloc.
The elements of the array are: 1 2 3 4 5
Memory successfully freed.
Mathematical Functions
The math.h header file contains functions for performing mathematical operations. Some of the commonly used functions are:
sqrt: Returns the square root of a number.pow: Returns the power of a number.sin: Returns the sine of an angle.cos: Returns the cosine of an angle.tan: Returns the tangent of an angle.log: Returns the natural logarithm of a number.
Example: Using sqrt and pow
#include <stdio.h>
#include <math.h>
int main() {
double num = 16.0;
printf("Square root of %.2f is %.2f\n", num, sqrt(num));
printf("%.2f to the power of 2 is %.2f\n", num, pow(num, 2));
return 0;
}
Square root of 16.00 is 4.00
16.00 to the power of 2 is 256.00
Conclusion
The C Standard Library is a powerful set of tools that can help you perform a wide range of tasks. This tutorial has covered some of the most commonly used functions, but there are many more available. Always refer to the official documentation for a complete list of functions and their usage.
