C Tutorial — Learn C Programming
Key takeaway: This free C tutorial teaches you systems programming from scratch — variables, pointers, arrays, functions, structs, and memory management — with practical code examples you can compile and run.
C is a general-purpose, procedural programming language created in 1972. It is used for operating systems, embedded systems, game engines, and performance-critical applications. This tutorial is for beginners, CS students, and developers who want to understand how computers work at a low level.
Last updated: September 2026
String Functions in C
C provides a rich set of functions in string.h for common text operations: copying, concatenation, comparison, search, and measuring length.
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello";
char str2[50] = "World";
char str3[50];
// String copy
strcpy(str3, str1);
printf("After strcpy: %s\n", str3);
// String concatenation
strcat(str1, " ");
strcat(str1, str2);
printf("After strcat: %s\n", str1);
// String comparison
if (strcmp(str2, "World") == 0) {
printf("Strings are equal\n");
}
// String length
printf("Length of str1: %lu\n", strlen(str1));
return 0;
}Common String Functions
| Function | Purpose | Example |
|---|---|---|
strlen() | Get string length | strlen("Hello") returns 5 |
strcpy() | Copy string | strcpy(dest, src) |
strcat() | Concatenate strings | strcat(str1, str2) |
strcmp() | Compare strings | strcmp(str1, str2) |
strchr() | Find character | strchr(str, \"a\") |
strstr() | Find substring | strstr(str, "sub") |
Important
- Ensure destination buffers are large enough before copy/concat.
- Remember the null terminator
\0when manipulating arrays. - Prefer
fgets()overgets()for safe input. - Include
<string.h>to use these functions.