Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 三维字符数组?_C_Arrays_Pointers - Fatal编程技术网

C 三维字符数组?

C 三维字符数组?,c,arrays,pointers,C,Arrays,Pointers,我想保留多个“属性”。属性有5个不同的变量,所有这些变量都需要存储为字符串。我需要能够以属性作为引用访问每个变量。属性不需要特别命名,只需要一个索引 我尝试使用字符指针: char *attribute[0][4] = { "0x0201", "0x0000", "0x019", "0x0", }; char *attribute[1][4] = { "0x0000", "0x0000", "0x001", "0x0",

我想保留多个“属性”。属性有5个不同的变量,所有这些变量都需要存储为字符串。我需要能够以属性作为引用访问每个变量。属性不需要特别命名,只需要一个索引

我尝试使用字符指针:

 char *attribute[0][4] = {
    "0x0201",
    "0x0000",
    "0x019",
    "0x0",
  };
  char *attribute[1][4] = {
    "0x0000",
    "0x0000",
    "0x001",
    "0x0",
  };
这表示我正在声明“属性”。如何在不重新声明的情况下在此处添加第二个属性

请原谅我的语言等,我是相当新的C和非常新的指针。如果这不是存储我需要存储的数据的最佳方式,我很乐意接受任何其他建议。我也尝试过3D字符数组,但最终编译的代码无法上传到我的arduino浏览器。如果这是一个更好的选择,我可以提供代码

谢谢您的帮助。

试试这个:

char *attribute[][4] = { 
{"0x0201","0x0000", "0x019","0x0"}, 
{"0x0000","0x0000","0x001","0x0"} };

非常感谢,我是否可以使用属性[0][0]引用此文件;要得到“0x0201”,请看下面的答案,我试图解释C语言如何在内存中排列多维数组。从中可以理解,多维数组的初始化遵循相同的原则:一次一行。第一个
{
打开一个由相应的
}
关闭的集合,然后在该子数组的所有初始值设定项中:一行。如果有更多的维度,只需用大括号围绕每个子集,并放置其他初始值设定项。我希望我的描述足够清楚。