
194 views
String in C
The string is a sequence of characters stored in an array of characters, terminated by a null character (‘\0’). Strings are used to represent text and are one of the fundamental data types in C. Here are some important characteristics of C strings:
- Null-Termination: C strings are null-terminated, which means they have a null character (‘\0’) at the end to indicate the end of the string. This null character is used to determine the string’s length.
- Character Array: C strings are typically implemented as arrays of characters (
char[]
) where each character represents a character in the string. For example,"Hello"
is represented as{'H', 'e', 'l', 'l', 'o', '\0'}
. - String Literals: String literals are enclosed in double quotes, e.g.,
"Hello, World!"
. String literals are automatically null-terminated. - String Functions: C provides a set of standard library functions in
<string.h>
for manipulating and working with strings, such asstrlen()
,strcpy()
,strcat()
,strcmp()
, and more.
Here’s an example of defining and working with a C string:
C
#include <stdio.h>
#include <string.h>
int main() {
char greeting[] = "Hello, World!";
printf("String: %s\n", greeting); // Prints the string
printf("Length of string: %lu\n", strlen(greeting)); // Calculates string length
// Copying a string
char copy[20];
strcpy(copy, greeting);
printf("Copy of string: %s\n", copy);
// Concatenating strings
strcat(copy, " Welcome!");
printf("Concatenated string: %s\n", copy);
// Comparing strings
if (strcmp(greeting, copy) == 0) {
printf("The two strings are identical.\n");
} else {
printf("The two strings are different.\n");
}
return 0;
}
In this example, we declare a character array greeting
to hold the string “Hello, World!” and use various string functions to manipulate and work with the string.
C strings are an essential part of C programming, and proper handling of strings is crucial for writing robust and efficient C programs. Always ensure that strings are properly null-terminated and that you consider issues like buffer overflows when working with strings in C.