繁体   English   中英

二维数组初始化

Two dimensional array initialization

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我创建了一个像这样的二维数组:

char string_y2m[2][8];

然后我只是使用memset()将其初始化为0:

memset(&string_y2m, 0, sizeof(string_y2m));

现在,我必须为其分配一些值,但是它无法正常工作。 我已将其分配为:

string_y2m[2][8] = {"2011-1","2011-01"};

这是行不通的,如果我在声明本身上做同样的事情,它会工作。

2 个回复

当目标是一个字符数组并且没有声明时,就不能在C中分配类似的字符串。

在C语言中,您需要使用strcpy()将字符串复制到数组中,并特别注意缓冲区的大小:

strcpy(string_y2m[0], "2011-1");
strcpy(string_y2m[1], "2011-01");

或使用snprintf()如果有):

snprintf(string_y2m[0], sizeof string_y2m[0], "%s", "2011-1");
snprintf(string_y2m[1], sizeof string_y2m[1], "%s", "2011-01");

另外,在写入字符串之前无需清除空格,因为写入字符串会将字符设置为所需的值。

只是不使用赋值,而是从一开始就正确初始化数组:

char string_y2m[2][8] = {"2011-1","2011-01"};

这会将所有未显式初始化为0字符初始化。

1 如何初始化二维数组?

我在初始化数组时遇到问题。 当我尝试绘制数组时,出现NullPointerException 。 我需要访问从另一个类声明了数组的类,这就是为什么它是static的原因。 这是我的代码: 另一个问题是,当我尝试通过主类访问方法时,它说: ...

3 二维数组可以这样初始化吗?

我的意思是,看起来好像正在使用一个循环来在一维中遍历N * N个元素。 在C中是否可能这样做,而无需另一个循环遍历列? 编辑: 初始化2D数组并调用此函数的代码如下所示: ...

2012-11-17 18:32:59 4 95   c/ matrix
4 二维数组初始化

情况1: 案例2: 我可以使用两种方式插入和打印值。 初始化有什么区别? ...

5 初始化二维数组

我已经完成了一维数组,没有问题,但是我在二维数组中做错什么了吗? 不能看到我要去哪里错了,它一定是正在格式化,但看不到树木茂盛! using System; using System.Collections.Generic; using System.Linq; using System. ...

2014-11-25 07:40:54 1 29   arrays/ 2d
6 二维数组的初始化

上面的代码用于在subsetSum 中生成一个二维布尔类型数组,但是编译器说“n”和“sum”都必须是常量。 如何在我的函数中创建一个二维数组,就像“double”和“int”这样的普通堆栈变量一样? ...

7 初始化二维数组

我正在尝试将地图下方的地图初始化为2D数组,但以某种方式,我无法理解如何在2D数组地图的下方进行初始化。 从图中以某种方式来看,它看起来很混乱。 下图是: 这是正确的方法吗? ...

9 如何实例化和初始化二维数组

过去几周我一直在玩 Flutter,但我发现文档毫无用处。 我正在尝试查找有关如何设置二维数组的文档。 应该很容易找到的东西,但我找不到任何关于如何格式化数组的有用信息。 经过多次谷歌搜索,我能够创建一个一维数组,但在创建二维数组方面没有任何运气。 这是我的一维数组示例,以防有人因为这个原因看到 ...

10 二维数组的初始化数组

如何在C ++中初始化二维数组的数组(在下面的代码中定义)? 我收到这些错误: $ g++ -std=c++11 arrays.cpp -o arrays arrays.cpp: In function 'int main(int, const char**)': array ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM