Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

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.

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];
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";
     OR,
char c[5]="abcd";
     OR,
char c[]={'a','b','c','d','\0'};
     OR;
char c[5]={'a','b','c','d','\0'};
String can also be initialized using pointers
char *c="abcd";

Reading Strings from user.
Reading words from user.
char c[20];
scanf("%s",c);
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
int main(){
    char name[20];
    printf("Enter name: ");
    scanf("%s",name);
    printf("Your name is %s.",name);
    return 0;
}
Output
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
int main(){
    char name[30],ch;
    int i=0;
    printf("Enter name: ");
    while(ch!='\n')    // terminates if user hit enter
    {
        ch=getchar();
        name[i]=ch;
        i++;
    }
    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:
Output
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
void Display(char ch[]);
int main(){
    char c[50];
    printf("Enter string: ");
    gets(c);             
    Display(c);     // Passing string c to function.   
    return 0;
}
void Display(char ch[]){
    printf("String Output: ");
    puts(ch);
}
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  to handle these commonly used talk in C programming.


This post first appeared on C-Programming, please read the originial post: here

Share the post

C Programming String

×

Subscribe to C-programming

Get updates delivered right to your inbox!

Thank you for your subscription

×