这段代码如何初始化2D数组?

时间:2018-04-22 10:48:58

标签: c++

我在互联网上找到了这段代码。这是如何初始化数组的?

char words[][MAXLENGTH] =
{
    "india",
    "pakistan",
    "nepal",
    "malaysia",
    "philippines",
    "australia",
    "iran",
    "ethiopia",
    "oman",
    "indonesia"
};

2 个答案:

答案 0 :(得分:1)

给定的arraystrings的数组。 words的每个索引都是一个字符串。

e.g:

words[0] = "india"
words[1] = "pakistan"
等等。

您可以使用words[0][j]来引用indiawords[1][j]中的字符,以引用pakistan的字符。

以下代码可能会帮助您可视化数组:

#include <iostream>

int main() {
    int MAXLENGTH = 10;
    char words[][MAXLENGTH] =
    {
        "india",
        "pakistan",
        "nepal",
        "malaysia",
        "philippines",
        "australia",
        "iran",
        "ethiopia",
        "oman",
        "indonesia"
    };

    for(int i=0;i<MAXLENGTH;i++)
    {
        std::string s = words[i];
        for(int j=0;j<s.size();j++)
        {
            std::cout << words[i][j] << " ";
        }
        std::cout << "\n";
    }
    return 0;
}

答案 1 :(得分:0)

char words[][MAXLENGTH] 初始化2D字符数组。基本上定义了一个元素数组,并且数组中的每个元素都是一个字符数组,例如"india"

MAXLENGTH 定义单词数组中每个单词的最大长度。

char singleWord[] = {"india"} - &gt;一个字符数组,意思是通过调用singleWord[0]将返回字符i

通过调用words[2],将返回字符数组"nepal"

我不确定您正在寻找什么样的答案,但如果您有任何问题请告诉我。