构造数组

结构数组
我编了个程序,里面定义了结构
struct plane {
int seat;
int flag;
char fname[11];
char lname[11];
};
然后我想初始化一个结构数组时
for (i = 0; i < 12; i++)
{
planes[i].seat = i;
planes[i].flag = 0;
planes[i].fname[11] = ""; //即初始化一个空名字符数组
planes[i].lname[11] = "";
}
最后两个等号“=”下面出现了波浪线,一看,发现是
Error:不能将“const char *” 类型的值分配到"char"类型的实体
请问怎么回事?怎么办?

------解决方案--------------------
C/C++ code
planes[i].fname[11] = ""; //即初始化一个空名字符数组
planes[i].lname[11] = "";

------解决方案--------------------
首先,你初始化的下标越界了。
------解决方案--------------------
""是字符串,怎么可以赋给char
即使不是字符串,planes[i].fname[11]也越界了 11
------解决方案--------------------
字符串返回的是字符串的地址 (const char *)
------解决方案--------------------
可以这样。
C/C++ code

#include<iostream>
using namespace std;

struct plane {
    int seat;
    int flag;
    char fname[11];
    char lname[11];
};

int main()
{
    plane planes[12];
    for (int i = 0; i < 12; i++)
    {
        planes[i].seat = i;
        planes[i].flag = 0;
        strcpy(planes[i].fname, "");
        strcpy(planes[i].lname, "");
    }
    return 0;
}