0% found this document useful (0 votes)
11 views

C - Strings

Strings in C are actually one-dimensional arrays of characters terminated by a null character '\0'. A string contains the characters that comprise the word followed by a null character. C supports functions like strcpy(), strcat(), strlen(), and strcmp() that manipulate null-terminated strings. These functions allow copying, concatenating, finding the length of, and comparing strings.

Uploaded by

Habiba Shifa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

C - Strings

Strings in C are actually one-dimensional arrays of characters terminated by a null character '\0'. A string contains the characters that comprise the word followed by a null character. C supports functions like strcpy(), strcat(), strlen(), and strcmp() that manipulate null-terminated strings. These functions allow copying, concatenating, finding the length of, and comparing strings.

Uploaded by

Habiba Shifa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

5/19/22, 2:54 PM C - Strings

C - Strings

Strings are actually one-dimensional array of characters terminated by a null character '\0'. Thus a
null-terminated string contains the characters that comprise the string followed by a null.

The following declaration and initialization create a string consisting of the word "Hello". To hold
the null character at the end of the array, the size of the character array containing the string is one
more than the number of characters in the word "Hello."

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

If you follow the rule of array initialization then you can write the above statement as follows −

char greeting[] = "Hello";

Following is the memory presentation of the above defined string in C/C++ −

Actually, you do not place the null character at the end of a string constant. The C compiler
automatically places the '\0' at the end of the string when it initializes the array. Let us try to print
the above mentioned string −
 Live Demo
#include <stdio.h>

int main () {

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};


printf("Greeting message: %s\n", greeting );
return 0;
}

https://www.tutorialspoint.com/cprogramming/c_strings.htm 1/3
5/19/22, 2:54 PM C - Strings

When the above code is compiled and executed, it produces the following result −

Greeting message: Hello

C supports a wide range of functions that manipulate null-terminated strings −

Sr.No. Function & Purpose

1
strcpy(s1, s2);

Copies string s2 into string s1.

2
strcat(s1, s2);

Concatenates string s2 onto the end of string s1.

3
strlen(s1);

Returns the length of string s1.

4
strcmp(s1, s2);

Returns 0 if s1 and s2 are the same; less than 0 if s1<s2; greater than 0 if s1>s2.

5
strchr(s1, ch);

Returns a pointer to the first occurrence of character ch in string s1.

6
strstr(s1, s2);

Returns a pointer to the first occurrence of string s2 in string s1.

The following example uses some of the above-mentioned functions −


 Live Demo
#include <stdio.h>
#include <string.h>

int main () {

char str1[12] = "Hello";


char str2[12] = "World";

https://www.tutorialspoint.com/cprogramming/c_strings.htm 2/3
5/19/22, 2:54 PM C - Strings

char str3[12];
int len ;

/* copy str1 into str3 */


strcpy(str3, str1);
printf("strcpy( str3, str1) : %s\n", str3 );

/* concatenates str1 and str2 */


strcat( str1, str2);
printf("strcat( str1, str2): %s\n", str1 );

/* total lenghth of str1 after concatenation */


len = strlen(str1);
printf("strlen(str1) : %d\n", len );

return 0;
}

When the above code is compiled and executed, it produces the following result −

strcpy( str3, str1) : Hello


strcat( str1, str2): HelloWorld
strlen(str1) : 10

https://www.tutorialspoint.com/cprogramming/c_strings.htm 3/3

You might also like