c - 如何声明一个 char* 数组的数组?

标签 c arrays char

如何声明一个 char* 数组? (稍后将在我的程序中填充值时..)这是我的目标:

arr[0] = {"0a","0b","0c"};
arr[0][0] = "0a";
arr[0][1] = "0b";
..
arr[1] = {"1a","1b","1c"}
  1. char *arr[][] 吗?我感到非常困惑。
  2. 如何将此参数传递给函数?

最佳答案

关闭,但您必须一次使用聚合初始化,如下所示:

char arr[][2][3] = 
{
  {"0a", "0b"},
  {"1a", "1b"},
};

请注意,除了最重要的(最左边的)数组之外的所有数组都必须明确确定大小。或者你 可以将每个内部字符串声明为一个指针:

const char * arr[][2] = 
{
  {"0a", "0b"},
  {"1a", "1b"},
};

这取决于您的数据的结构化程度以及静态化程度。如果您想动态分配每个数组的内容,另一种方法是使用 STL std::vector。

关于c - 如何声明一个 char* 数组的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282460/

相关文章:

c++ - 读取字符串 C++ 的字符时出错

将整数转换为 0x 等价物(十六进制)

c - 证明 c 使用行优先顺序排列二维数组

c - 如何使用C将数据写入二进制文件

c - 如何在 64 位 ubuntu 上安装 32 位 glibc

c++ - 由于 ID3D11Buffer 而导致访问冲突

PHP随机匹配一个数组到自身

javascript - 带变量的数组中的多个提示,可能吗?

c - 字符数组与c中的字符串完全相同

c++ - 将 unicode 转换为 char