Login

Username:

Password: 

Join us Now |  Forgot Password? | Forgot UserName?

C

Learn step by step



C-Strings

The string in C programming language is actually a one-dimensional array of characters which is 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 "tuton". To hold the null character at the end of the array, size of the character array containing the string is one more than the number of characters in the word "tuton"

char o[6] = {'t', 'u', 't', 'o', 'n', '\0'};

We can also write the above statement as follows:

char o[] = "tuton";

Following is the memory representation of above defined string in C/C++:

Actually, we don't place the null character at the end of a string constant. C compiler automatically places the '\0' at the end of the string when it initializes the array. Let's try to print the above mentioned string:


#include <stdio.h>
int main ()
{
char greeting[11] = {'H', 'e', 'l', 'l', 'o','T', 'u', 't', 'O', 'n', '\0'};
printf("Greeting message: %s\n", greeting );
return 0;
} RUN

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

S.N.Function & Purpose
1strcpy(s1, s2);
Copies string s2 into string s1.
2strcat(s1, s2);
Concatenate string s2 onto the end of string s1.
3strlen(s1);
Returns the length of string s1.
4strcmp(s1, s2);
Returns 0 if s1 and s2 are the same; less than(negative number) 0 if s1<s2; greater than(positive number) 0 if s1>s2.
5strchr(s1, ch);
Returns a pointer(or location) to the first occurrence of character ch in string s1.
6strstr(s1, s2);
Returns a pointer(or location) to the first occurrence of string s2 in string s1.

#include <stdio.h>
#include <string.h>
int main ()
{
char str1[12] = "Hello";
char str2[12] = "TutOn";
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;
} RUN



Related Videos