这是指向大小为 3 个字符数组的指针数组的正确语法吗?

Is this the correct syntax for an array of pointers to size-3 character arrays?

本文关键字:数组 指针 语法 字符 小为      更新时间:2023-10-16

我正在尝试制作自己的"自动更正"程序版本,该程序检查与给定单词相似的单词。为此,我需要查看标准键盘上字母之间的距离,以便我有一个指标来衡量一个单词与另一个单词的"接近"程度。

在我的程序中,我已经开始编写一个数组

const char[3]* KEY_DISTS[] = { "aa0", "ab5", "ba5", "ac3", "ca3", "ad2", "da2" ,... };
这应该意味着"'a'和'a'之间的距离是0,'a'和'b'之间的距离是5,'

b'和'a'之间的距离是5,"等等。

接下来,我将把这些信息放在一个将字符对映射到整数的地图中,但我想知道到目前为止它是否正确编写,以及您是否对我有任何建议。

const char[3]* KEY_DISTS[]

应该意味着"指向大小为 3 的字符数组的指针的常量数组",对吧?

与标题匹配的声明将是:

const char (*arr[])[4] = { &"aa0" };

请注意,"arr"是一个由四个字符组成的数组(它包括终止''),并且您需要获取字符串文字的地址(它们是左值并且具有静态存储持续时间,所以这很好)。

听起来你可以有一个2D数组:

const char arr[][4] = { "aa0" };