c++ - char* a[100]是什么意思?

浏览:48日期:2023-03-30

问题描述

是存放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' };

上面就不会出错,而下面就会出错,为什么?

问题解答

回答1:

就是指针数组。数组中的每个元素类型为char*,分别指向各个字符串首地址。下面的数组元素超过10个了。

回答2:

你的代码表示的意思是声明一个长度为n的,类型为char *的数组。这些数组的内容就是你声明这些char型字符的地址。下面为在VC6.0下编译的结果

c++ - char* a[100]是什么意思? error C2078: too many initializers错误在于有过多的初始化内容,因为你声明的长度为为10,而你初始化中有11个内容,这样会造成数组越界,所以不能通过编译,而第二行因为100>11,所以能够编译通过。修改之

c++ - char* a[100]是什么意思?

回答3:

简单来说你的代码就是生成了一个char型的二维数组,第一维是10,第二维是任意长度,就是char[10][]所以说你下面的程序第一维长度超过了10报错

相关文章: