How to store words in an array in C?

We all know how to store a word or String, how to store characters in an array, etc. This article will help you understand how to store words in an array in C.

To store the words, a 2-D char array is required. In this 2-D array, each row will contain a word each. Hence the rows will denote the index number of the words and the column number will denote the particular character in that word.

  1. Direct initialization: In this method, the words are already known and the 2-D char array is created with these words directly.

    Syntax for Direct initialization:



    char array[][20] = {"Geek1", "Geek2", "Geek3", ..."};

    Syntax for accessing a word:

    Lets say we need to fetch the ith word:
    
    array[i]
    

    Below is the implementation of the above approach:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // C program to store words in an array
      
    #include <stdio.h>
      
    int main()
    {
        int i;
      
        // Direct initialization of 2-D char array
        char array[][20] = { "Geek1", "Geek2", "Geek3" };
      
        // print the words
        for (i = 0; i < 3; i++)
            printf("%s\n", array[i]);
      
        return 0;
    }

    chevron_right

    
    

    Output:

    Geek1
    Geek2
    Geek3
    
  2. By taking input from user: In this method, the number of words and words are given by the user and we have to create and map the 2-D char array for each word.

    Syntax:

    // Declaration of 2-D char array
    // where n is the number of words
    char array[n][20];
    
    // Initialization of 2-D char array
    for (i = 0; i < n; i++)
        scanf("%s", array[i]);
    

    Syntax for accessing a word:

    Lets say we need to fetch the ith word:
    
    array[i]
    

    Below is the implementation of the above approach:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // C program to store words in an array
      
    #include <stdio.h>
      
    int main()
    {
        int i;
      
        // Lets say we have 3 words
        int n = 3;
      
        // Declaration of 2-D char array
        char array[n][20];
      
        // Initialization of 2-D char array
        for (i = 0; i < 3; i++)
            scanf("%s", array[i]);
      
        // print the words
        for (i = 0; i < 3; i++)
            printf("%s\n", array[i]);
      
        return 0;
    }

    chevron_right

    
    

    Input:

    Geek1
    Geek2
    Geek3
    

    Output:

    Geek1
    Geek2
    Geek3
    


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.