Skip to the content
onlineexamguide
  • Home
  • Courses
  • Engg. Interview
    • Placement Papers
    • Electrical Engineering
    • Mechanical Engineering
    • Automobile Engineering
    • Civil Engineering
    • Computer Science Engineering
    • Chemical Engineering
    • CS & IT Engg.
      • C programming Tests
      • C++ programming Tests
      • Java Programming Tests
  • Online Exam
    • NTA UGC NET Exam
    • SSC Examination quiz
    • TET Examination Quiz
    • Banking Exam
    • Aptitude Tests
    • Computer Knowledge Tests
    • Logical Reasoning Tests
    • English Language Tests
    • Staff Nurse Exams
    • General Knowledge Tests
    • Networking Tests
  • Ghatna Chakra
  • Register
    • Instructor Registration
    • Student Registration
    • About us
    • Privacy Policy
  • Cart
  • User Login
  • Home
  • Courses
  • Engg. Interview
    • Placement Papers
    • Electrical Engineering
    • Mechanical Engineering
    • Automobile Engineering
    • Civil Engineering
    • Computer Science Engineering
    • Chemical Engineering
    • CS & IT Engg.
      • C programming Tests
      • C++ programming Tests
      • Java Programming Tests
  • Online Exam
    • NTA UGC NET Exam
    • SSC Examination quiz
    • TET Examination Quiz
    • Banking Exam
    • Aptitude Tests
    • Computer Knowledge Tests
    • Logical Reasoning Tests
    • English Language Tests
    • Staff Nurse Exams
    • General Knowledge Tests
    • Networking Tests
  • Ghatna Chakra
  • Register
    • Instructor Registration
    • Student Registration
    • About us
    • Privacy Policy
  • Cart
  • User Login

Strings in C and Char Arrays Tutorial and MCQ

Strings in C

Learn Strings in C and Char Arrays Tutorial on Basics to attend job placement exams, interview questions, college viva and Lab Tests

String is just like an array of elements of character (char) data type. Every valid string in c programming language must end with a NULL character or ‘\0’. ASCII value of a NULL character is 48. Without null character at the end, array is just an array of characters but not STRING.

Strings Char Arrays in C

C language provide ‘char’ data type to hold Alphabets and Special characters. Size of a single character is 1 Byte.

Let us examine a character array and see how to turn it in to a string. ‘string’ is not a keyword.

char names[] = {'a','b','c','d'};

we shall turn this character array to string by adding a NULL character at the end. NULL character is also called SLASH ZERO. You can use DOUBLE QUOTES to create a STRING.

char names[] = {'a','b','c','d', '\0'}; //SLASH ZERO
          (or)
char names[] = "abcd";
C Programming Strings Char Arrays Tutorial

What is the need to add SLASH ZERO at the end ?

In practice, you will be using String Library Functions to know Length of a String, Copy Strings, Concatenate Strings and more. All these functions want to know after what character string ends in memory. This NULL character tells these string functions about end of a string.

Note: SIZEOF() function always gives the Size of a STRING including ‘\0’. STELEN() function gives the Length of a string counting number of characters. So the size of a string is one more than the length of that string.

Strings in C

Example 1: Printing a String with %C

int main()
{
  char name[] = {'j','e','r','r','y','\0'};
  int i=0;
  while(name[i] != '\0')
  {
    printf("%c", name[i]);
    i++;
  }
  return 9;
}

We check each character against a NULL character. It it is not NULL we print it using “%c” format specifier.

Strings in C examples

Example 2: Printing a String with %S

int main()
{
  char name[] = {'j','e','r','r','y','\0'};
  printf("%s", name);
  return 9;
}

“%S” format specifier prints the whole string in one go. It will not print NULL character.

Strings in C examples

Example 3: Reading a String with %S

int main()
{
  char name[10];
  printf("ENTER a name..\n");
  scanf("%s", name);
  printf("Entered=%s", name);
  return 9;
}
//INPUT > Enter a name..
//TOMCAT
//OUTPUT: TOMCAT

Strings in C

Example 4: Reading a String with Spaces with GETS() function & PUTS() to print

You can not read a string with spaces using %S format specifier. So we use predefined Library function GETS() to read a Line of Text With Spaces.

#include<string.h>
int main()
{
  char name[10];
  printf("ENTER a name..\n");
  gets(name);
  puts(name);
  return 9;
}
//INPUT: > ENTER a name..
//TOM CAT
//Entered=TOM CAT

String Assignments in c

Just like assigning the value of one variable to another variable, you can not assign one String Variable to another.

Why do you want to assign one variable to another ?

Answer is that you want to copy the value of 1st variable to the second variable.

So use STRCPY() string library function to copy string value and assign to the second variable.

#include<string.h>
int main()
{
  char str1[] = "Hello";
  char str2[10];
  char str3[10];
  str2 = str1; //Compiler error;

  strcpy(str3, str1); //works

  return 9;
}

You can not change the value of whole string to another string constant. You can only change individual characters of a string. If you use a char pointer, you can change the string pointed by it. Let us try changing the value of a string variable in below example.

int main()
{
  char str1[] = "Hello";
  str1[1] = 'a'; // You can change individual characters
  str1 = "AFRICA"; //Error. You can not change
  char *p;
  p = "JIMMY";
  p = "TOMMY"; //works. You are using pointers.
  return 8;
}

String Arrays or Multidimensional Arrays in C

C language allows us to create Array of Strings or String Multidimensional Arrays. What developers use are just 2D String arrays that hold a number of 1D Char Array Strings.

Example 1: String Array – Fixed Length Strings

If you use plain String array without pointers, you can not change the maximum length of strings inside Array of Strings.

int main()
{
  char names[5][10] = { "ARICA", "JAPAN", "SEA", "EGGS", "RIVERS" };
  printf("%s", names[0]);
  printf(" %s, names[1]);
  names[0] = "PENCIL"; //ERROR. CAN NOT CHANGE.
  return 9;
}

Example 2: String Array – Variable Length Strings

You change maximum length of Strings if you use CHARACTER POINTER to hold address of STRINGS. These STRINGS can be stored anywhere in memory. There is no need to allocate contiguous memory locations to store strings or char arrays in this pointer concept. Also you can reinitialize strings with other strings.

int main()
{
  char *names[5] = { "ARICA", "JAPAN", "SEA", "EGGS", "RIVERS" };
  printf("%s", names[0]);
  name[0] = "PEN AFRICA"; // CAN CHANGE
  printf(" %s, names[0]);

  return 9;
}

Note: You can not use SCANF() function to scan strings using a CHAR POINTER like *name[0].

C String Library Functions Overview

C strings help us do some most common string operations like COPY, CONCATENATION, UPPERCASE, LOWERCASE and more. Here is a list of STRING function we most use.

SNOFunctionsDescription
1strlen(source)Returns length of a string without counting NULL character
2strcpy(target, source)Copies contents of one string to the other. Return type is void.
3strcat(target, source)Appends new string to the end of SOURCE string. Return type is void.
4strcmp(string1, string2)Compares string1 with string 2 and returns a number. >0 if greater, 0 for equal and <0  if string1 is less than string2.
5strrevv(string)Reverses a string and returns.
6strupr(string)Converts a string to uppercase and returns
7strlwr(string)Converts a string to lowercase and returns
8toupr(char)Converts a character to uppercase and returns
9tolwr(char)Converts a character to lowercase and returns
10strchr(string, char1)Finds first occurrence of a character in the given string
11strstr(string, str1)Finds first occurrence of a string str1 in a given string.
12strrchr(string, char1)Finds last occurrence of a character in a given string.
13strrstr(string, str1)Finds last occurrence of a string str1 , in a given string.

Strings in C Quiz

[WpProQuiz 37]

Write a comment Cancel reply

You must be logged in to post a comment.

Recent Posts

  • Atal Bihari Vajpayee | श्री अटल बिहारी वाजपेयी जीवन परिचय
  • सम्राट अशोक का जीवन परिचय (Emperor Ashoka)
  • Prithviraj Chauhan
  • बाल गंगाधर तिलक
  • स्वामी दयानंद सरस्वती
  • UPPSC Mines Inspector Recruitment 2022 Notification Out
  • AIIMS Delhi JR Vacancy 2022 [194 Post] Notification and Apply Online
  • भीमराव अम्बेडकर
  • डॉक्टर राजेंद्र प्रसाद का जीवन परिचय
  • श्रीनिवास रामानुजन का जीवन परिचय
  • Amnesty International day
  • World Economic Forum
  • UPSSSC VDO Syllabus and Exam Pattern 2022
  • RBI Officer Grade B Recruitment 2022
  • UKMSSB Assistant Professor Recruitment 2022 Apply Now 339 Post

About us

Free online test to practice for Competitive exams , Online Exam, Entrance and Interview. Learn and Practice online test for Free and Prepare for your exam online with us

Select Language

Follow us

Search

Learn and Earn

Register as Instructor - Create and sell online courses and coaching services with the best online platform onlineexamguide.com . Build a course, build a brand, earn money

Copyright © 2022 onlineexamguide.com - All Rights Reserved.
error: Content is protected !!

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.