String Programming

C Programming String

In C programming, array of character are called strings. A string is terminated by null character /0. For example:
"c string tutorial"
Here, "c string tutorial" is a string. When, compiler encounters strings, it appends null character at the end of string.
Memory diagram of strings in C programming

Declaration of strings

Strings are declared in C in similar manner as arrays. Only difference is that, strings are of char type.
char s[5];
Declaration of strings in C language
Strings can also be declared using pointer.
char *p

Initialization of strings

In C, string can be initialized in different number of ways.
char c[]="abcd";
char c[5]="abcd";
char c[]={'a','b','c','d','\0'};
char c[5]={'a','b','c','d','\0'};
Initialization of strings in C programming
String can also be initialized using pointers
char *c="abcd";

Reading Strings from user.

Reading words from user.

char c[20];
String variable c can only take a word. It is beacause when white space is encountered, the scanf()function terminates.
Write a C program to illustrate how to read string from terminal.
#include <stdio.h>
int main(){
    char name[20];
    printf("Enter name: ");
    printf("Your name is %s.",name);
    return 0;
Enter name: Dennis Ritchie
Your name is Dennis.
Here, program will ignore Ritchie because, scanf() function takes only string before the white space.

Reading a line of text

C program to read line of text manually.
#include <stdio.h>
int main(){
    char name[30],ch;
    int i=0;
    printf("Enter name: ");
    while(ch!='\n')    // terminates if user hit enter
    name[i]='\0';       // inserting null character at end
    printf("Name: %s",name);
    return 0;
This process to take string is tedious. There are predefined functions gets() and puts in C language to read and display string respectively.
int main(){
    char name[30];
    printf("Enter name: ");
    gets(name);     //Function to read string from user.
    printf("Name: ");
    puts(name);    //Function to display string.
    return 0;
Both, the above program has same output below:
Enter name: Tom Hanks
Name: Tom Hanks

Passing Strings to Functions

String can be passed to function in similar manner as arrays as, string is also an array. Learn more about passing array to a function.
#include <stdio.h>
void Display(char ch[]);
int main(){
    char c[50];
    printf("Enter string: ");
    Display(c);     // Passing string c to function.    
    return 0;
void Display(char ch[]){
    printf("String Output: ");
Here, string c is passed from main() function to user-defined function Display(). In function declaration, ch[] is the formal argument. 

String handling functions

You can perform different type of string operations manually like: finding length of string, concatenating(joining) two strings etc. But, for programmers ease, many library function are defined under header file <string.h> to handle these commonly used talk in C programming. You will learn more about string hadling function in next chapter.

No comments:

Post a Comment