是存放100个字符串的数组吗?
//通过
char* binary[100] = { "0", "00", "01", "10", "000", "001", "010", "011", "100",
"101", "110" };
//出错
char* binary[10] = { "0", "00", "01", "10", "000", "001", "010", "011", "100",
"101", "110" };
上面就不会出错,而下面就会出错,为什么?
就是指针数组。
数组中的每个元素类型为char*,分别指向各个字符串首地址。
下面的数组元素超过10个了。
error C2078: too many initializers
错误在于有过多的初始化内容,因为你声明的长度为为10,而你初始化中有11个内容,这样会造成数组越界,所以不能通过编译,而第二行因为100>11,所以能够编译通过。
修改之
简单来说你的代码就是生成了一个char型的二维数组,第一维是10,第二维是任意长度,就是char[10][]
所以说你下面的程序第一维长度超过了10报错