C初始化数组或结构,我可以在声明后做吗?

标签 c

我知道,C 允许我这样做。

char *array[] = {"String1", "String2",...};

但我想做。

char **array 或 char *array[3]; array = {"String1", "String2"...};

因为我认为使用循环来填充数组非常糟糕,而不是像展示的那样进行初始化。

谢谢。

最佳答案

否 -- 初始化语法用于初始化,而不是赋值,因此它必须是数组定义的一部分,而不是之后。之后,你所拥有的将是分配一个数组而不是真正地初始化它,而 C 不支持数组分配。

关于C初始化数组或结构,我可以在声明后做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144845/

相关文章:

c - 如何在C中读取 "LoadLibrary"?

c - 在c中更新随机访问文件

c - free() 指针

c - 将数组添加到节点 n 叉树时出现段错误

c - 是否可以在 Linux 上预测 C 中的堆栈溢出?

c++ - 显示带有 GLTessellated 对象的列表? (OpenGL)

c - 为什么每次我再次编译程序时都需要在文件中添加相同的元素

c - C中的重复符号错误

c - 文件读取中无法捕获的缺陷

c - 需要实现集合操作的C库