数组和全局变量

用户名

我正在尝试处理全局变量(matrix [])。

我的第一个问题是:什么是具有两个索引([x] [x])的数组?我的第二个问题是:在initialize()中;我试图将matrix []中的每个元素分配给一个'O',但它似乎不起作用。

#include <stdio.h>

char matrix[4][10];

void initialize()
{
    matrix[4][10] = {{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
                     {'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
                     {'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
                     {'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}};

}

int main(void)
{

} 

这段代码给了我以下错误:

error: cannot convert '<brace-enclosed initializer list>' to 'char' in assignment
伊格里斯

它称为二维数组。

= {...};只能在声明数组的同一行中使用初始化。所以

char matrix[4][10] = {{....}};

会工作,但是

char matrix[4][10];
matrix = {{...}};

将不会。

如果要在某些函数中填充数组,则应使用循环:

for (int i = 0; i < 4; i++)
    for (int j = 0; j < 10; j++)
        matrix[i][j] = 0;

而且您main函数留为空白,因此initialise永远不会调用函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章