我正在尝试处理全局变量(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] 删除。
我来说两句