全球字符阵列(2D)
Global char array (2D)
我正在尝试在C 中声明一个全局6x6 char数组,并用字母'i'来初始化整个数组。
char result[] = new char[6][6];
result={{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},
{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'}};
获得的错误:1.错误:数组初始化器必须是初始化列表或 字符串字面量2. C 需要所有声明的类型指定符。如果我在main()中初始化,则此错误消失了
查询解决。
您是否尝试过'i'而不是只是?像
char result[] = new char[6][6];
result={{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I}};
您以不同的步骤进行定义和初始化。首先,您无法在全局范围(例如作业)中具有一般性语句。其次,您无法真正分配给数组。第三,您没有数组并尝试更改指针。
错误是第一个原因。
简单的解决方案是使用实际数组,并在一个步骤中进行定义和初始化:
char result[6][6] = {
{ 'I', 'I', 'I', 'I', 'I', 'I' },
{ 'I', 'I', 'I', 'I', 'I', 'I' },
....
};
要使用编译时常数char值,您需要用一对逗号包围角色:'i''。您的程序试图将命名 i 变量或常数的值放入数组中。
相关文章:
- 库特<<恩德尔;不适用于打印 2D 阵列
- 具有可变尺寸的 C++ 2D 阵列
- 如何遍历 2D 阵列?
- 超级对撞机2D阵列:生成嵌套:包装/尺寸问题
- 动态 2D 阵列.为什么分段错误?
- 尝试使用2D阵列
- 分配给阵列时出现分段错误?黑客排名 2D 阵列 - DS.
- 如何将1D阵列访问为2D阵列
- 分配/访问2d阵列,使得2d子块是连续的
- 重新分配2D阵列并删除旧阵列
- 不使用新的动态2D阵列
- 我正在为2D阵列参数而挣扎
- 特征和巨大的密集 2D 阵列
- 使用 std::transform 在 2d C 阵列上转换为 1d C 数组
- 解除分配此特定 2D 阵列的内存
- 使用两个不同大小的一维阵列制作 2D 阵列
- 返回C 中2D阵列的对角线元素总和
- 2D阵列让我卡住了
- 用pybind11铸造2D阵列
- 我的 2D 阵列无法读取文本文件并正确输出