【发布时间】:2013-09-28 19:20:01
【问题描述】:
我有一个 C 结构定义如下:
struct Guest {
int age;
char name[20];
};
当我创建了一个Guest 变量并使用以下内容对其进行初始化时:
int guest_age = 30;
char guest_name[20] = "Mike";
struct Guest mike = {guest_age, guest_name};
我收到关于第二个参数初始化的错误,它告诉我guest_name 不能用于初始化成员变量char name[20]。
我可以这样做来初始化所有:
struct Guest mike = {guest_age, "Mike"};
但这不是我想要的。我想通过变量初始化所有字段。如何在 C 中做到这一点?
【问题讨论】:
-
您不能复制数组。使用
std::string。 -
我知道我可以使用
std::string。但是如果我想坚持使用 C 风格的 char 数组呢? -
您说的是 C 或 C++。现在你说 C。
-
我应该说清楚。我想在 C char 数组中执行此操作。编辑了我的问题。有可能吗?