将字符串的每个字符存储到数组中(c ++)

时间:2014-07-27 02:29:57

标签: c++ c-strings

我想确保我正确阅读此代码

const int SIZE = 40;
char firstString[SIZE], secondString[SIZE];

这会产生2个char变量(称为firstString和secondString)并将“firstString”和“secondString”中的那些字符存储到一个数组中(一旦用户输入存储在其中的内容)?这个数组的名称是否与变量名称相同? (firstString和secondString)?

2 个答案:

答案 0 :(得分:0)

不,变量firstStringsecondStringchar大小为40的数组。

char firstString[SIZE], secondString[SIZE];

只有定义这些数组,即向编译器宣告它们的名称并使其为它们分配内存,即两个40 char个块。它不会存储任何内容。

在此声明之后(并在同一个块中),您可以在其中存储用户输入(在C中,字符串是char s的数组)。

注意"变量" firstStringsecondString不能与这些数组同时存在:如果它们已在同一个块中声明,则会导致编译错误;如果它们已在外部块中声明,则它们的名称将被此声明隐藏,并且它们的值将与这些数组无关。不会发生复制。

答案 1 :(得分:0)

该代码声明一个名为int的常量SIZE,然后声明两个大小为SIZE的字符数组。不执行字符串复制或其他初始化。