c - 关于字符指针的二维数组

标签 c

我在我的c书里找到了下面的声明,谁能解释一下:

    char *dic[][40]={
"atlas", "A volume of maps",
"car", "a vehicle",
"telephone", "a communication device",
"", ""
    }

这里的 40 是什么意思,即这是哪个维度?

最佳答案

这实际上是一种初始化字典的奇怪方式。

它是 char*(零终止 (\0) 字符串)的二维数组。

维度是[行][列]。

所以你有 1 行(由初始化程序确定)和 40 列的字符串,

其中 8 个已初始化。

注意:您确定它不是 char dic[][40](即最大长度为 40 的字符串列表)吗?

关于c - 关于字符指针的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4426374/

相关文章:

用native c win32编写的循环缓冲区

C代码表现异常,特殊字符来自哪里?

c - 最佳实践 : declaring global arrays of fixed length automatically

arrays - 数组中元素出现的频率

c - 当我在它之前/之后使用 printf() 时,为什么 "malloc(): corrupted top size"错误会得到修复?

c - 将静态变量作为参数传递给函数

C 中的命令行菜单

循环不打印事件窗口

C 如何将随机数与用户输入进行比较

c++ - 什么是指针的不同类别?