【发布时间】:2017-02-20 23:34:18
【问题描述】:
假设我有一个 char 数组,这样就可以了:
char myChars[100] = "hello";
但是如果我有一个
const char* hello="hello";
char myChars[100] = hello;
或
const char hello[6]="hello";
char myChars[100] = hello;
这是不允许的:
error: array must be initialized with a brace-enclosed intializer
在我看来,这些基本上是等价的陈述,为什么会这样?
【问题讨论】:
-
你试过
const char myChars[] = "Hello";吗? -
我在 arduino 上使用 C++,我认为这方面的语言是相似的,如果不是,请解释它们有何不同
-
hello的类型与myChars完全不同。这就像试图从一只猫初始化你的奶奶。 (相比之下,"hello"和myChars具有相当相似的类型以使初始化有意义。) -
strcpy() 是你的答案。
-
我删除了 C 标签。选择一种语言。
标签: c++ arrays initialization