Strings in C

Welcome to this tutorial on ‘Introduction to Strings in C’. If you’ve been wondering how to work with text in C, you’re in the right place. Strings are a crucial part of any programming language, and C is no exception. Let’s dive in!

What is a String in C?

In C, strings are essentially one-dimensional arrays of characters, terminated by a null character ('\0'). This null character is what differentiates a string from a regular character array.

char name[7] = "Flavio";

In the above example, name is a string initialized with the string literal “Flavio”.

Working with Strings in C

C provides a standard library, string.h, for manipulating strings. You can include it in your program like this:

#include 

Once you’ve included string.h, you have access to a variety of functions for working with strings:

  • strcpy(): Copies one string to another.
  • strcat(): Appends one string to another.
  • strcmp(): Compares two strings for equality.
  • strncmp(): Compares the first n characters of two strings.
  • strlen(): Calculates the length of a string.

And many more! See the code examples below to know how to use them for the string manipulation.

String Manipulation in C

In C, strings are manipulated using a variety of functions provided by the string.h library. We’ve already covered some of these functions in the previous tutorial, such as strcpy(), strcat(), and strcmp(). See the following code examples on how to manipulate strings in C.

Code Examples

Let’s look at some examples of how to use these functions.

Example 1: Copying Strings

#include <stdio.h>
#include <string.h>

int main() {
    char str1[10] = "Hello";
    char str2[10];

    strcpy(str2, str1);

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

    return 0;
}
C

In this example, we use the strcpy() function to copy the contents of str1 to str2. The output of this program would be:

str2: Hello

Example 2: Comparing Strings

#include <stdio.h>
#include <string.h>

int main() {
    char str1[10] = "Hello";
    char str2[10] = "World";

    int result = strcmp(str1, str2);

    if(result > 0) {
        printf("str1 is greater than str2\n");
    } else if(result < 0) {
        printf("str1 is less than str2\n");
    } else {
        printf("str1 is equal to str2\n");
    }

    return 0;
}
C

In this example, we use the strcmp() function to compare str1 and str2. The strcmp() function returns a positive value if the first string is greater than the second, a negative value if the first string is less than the second, and 0 if the two strings are equal. The output of this program would be:

str1 is less than str2

Absolutely, here are the code examples for strcat(), strncmp(), and strlen() functions:

Example 3: Appending Strings

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello";
    char str2[20] = " World";

    strcat(str1, str2);

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

    return 0;
}
C

In this example, we use the strcat() function to append str2 to the end of str1. The output of this program would be:

str1: Hello World

Example 4: Comparing First n Characters of Strings

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello";
    char str2[20] = "Helium";

    int result = strncmp(str1, str2, 3);

    if(result > 0) {
        printf("First three characters of str1 are greater than those of str2\n");
    } else if(result < 0) {
        printf("First three characters of str1 are less than those of str2\n");
    } else {
        printf("First three characters of str1 are equal to those of str2\n");
    }

    return 0;
}
C

In this example, we use the strncmp() function to compare the first 3 characters of str1 and str2. The output of this program would be:

First three characters of str1 are equal to those of str2

Example 5: Calculating String Length

#include <stdio.h>
#include <string.h>

int main() {
    char str[20] = "Hello World";

    int length = strlen(str);

    printf("Length of str: %d\n", length);

    return 0;
}
C

In this example, we use the strlen() function to calculate the length of str. The output of this program would be:

Length of str: 11

Wrapping Up

That’s it for this introduction to strings in C! We’ve covered what strings are, how to initialize them, and how to manipulate them using the string.h library. Remember, practice is key when it comes to programming, so be sure to write plenty of code!

Frequently Asked Questions (FAQ)

  • What is the introduction of string in C?

    In C, a string is a one-dimensional array of characters, terminated by a null character ('\0').

  • What is a string in C?

    A string in C is a sequence of characters terminated with a null character ('\0').

  • What is string introduction?

    The introduction to strings in C involves understanding that strings are essentially one-dimensional arrays of characters, terminated by a null character ('\0').

  • What are the different types of strings in C?

    In C, there’s essentially one type of string, which is a one-dimensional array of characters. However, strings can be manipulated in various ways using the string.h library.

  • What is the difference between a character array and a string in C?

    The main difference is that strings are character arrays that are terminated by a null character ('\0').

  • How to copy a string in C?

    You can use the strcpy() function from the string.h library to copy one string to another.

  • How to compare two strings in C?

    The strcmp() function from the string.h library can be used to compare two strings.

  • What is the strlen() function in C?

    The strlen() function is used to calculate the length of a string.

  • How to concatenate two strings in C?

    The strcat() function can be used to append one string to the end of another.

  • What does the strncmp() function do in C?

    The strncmp() function compares the first n characters of two strings.

Scroll to Top