我正在跟踪有关如何制作包含4x4小键盘的电路的教程,您可能会说,多次出现某个“矢量数组”的原因是我不知道它的含义。
我搜索了周围,但没有发现任何东西。甚至在Arduino参考上也是如此。
这是视频(https://www.youtube.com/watch?v=GyprsoB887Y&t=437s)中的代码示例。
// "rows" and "cols" being defined as 4 before, so the line is essentially equal to char keys[4][4]
char keys[rows][cols] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', '0'}
};
所以,正在发生的事情,具体地说,似乎是一个数组数组。我知道为什么必须这样做,它不能是分配给多个数组的一个变量,而必须是一个包含它们的包含数组。但是我确实看到它是如何被4声明为4的,但是它不应该被4声明为1吗?另外,keys[rows][columns]
是什么意思?
不是吗?
char keys[] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', '0'}
};
为什么不呢?
感谢您的帮助。
答案 0 :(得分:0)
不是吗?
char keys[] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', '0'}
};
为什么不呢?
不是因为char keys[]
指定了类型为char
的数组。通过上面的语句,您正在将每个元素初始化为本身为char
类型的数组。
如果您想将其指定为char
类型的数组,则正确的方法是:
char keys[] = {
'1', '2', '3', 'A',
'4', '5', '6', 'B',
'7', '8', '9', 'C',
'*', '0', '#', '0'
};