Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.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 - Fatal编程技术网

如何在c中访问数组内部的数组元素?

如何在c中访问数组内部的数组元素?,c,C,我试图访问数组“levels”中的第一个元素 unsigned char Level1[70] = { 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x03,0x07,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x03,0x03,0x02,0x02,0x01, 0x01,0x01,0x0b,0x01,0x01,0x01

我试图访问数组“levels”中的第一个元素

unsigned char Level1[70] =
{
    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x03,0x07,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x03,0x03,0x02,0x02,0x01,
    0x01,0x01,0x0b,0x01,0x01,0x01,0x01,0x02,0x02,0x01,0x08,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0f,0x02,0x02,0x02,0x02,0x02,
    0x02,0x02,0x02,0x02,0x02,0x02
};

unsigned char (*levels)[1] = {&Level1};
我尝试过以下方法:

unsigned char curr_level[70] = levels[0];
但它们没有起作用


谢谢大家!

警告:此答案可能不正确有关详细信息,请参阅评论

根据你的声明,

unsigned char (*levels)[1] = {&Level1};
levels
是字符指针数组,因此
levels[0]
是字符指针。
因此,根据您想做的事情,您可以尝试以下方法之一:

unsigned char *curr_level=levels[0];


嗯?我只看到一个数组。levels[0]是指向数组的指针,而不是数组。如果
70
是一个有意义的数字,它应该是一个
#定义
某种常量。
无符号字符(*levels)[1]
声明
levels
是指向1
无符号字符数组的指针,而不是“字符指针”数组<代码>级别[0]
是由1
无符号字符组成的数组;它不是“字符指针”,尽管在许多用途中,它会转换为指向其元素的指针。@eric谢谢。这是因为括号(或者如果是
无符号字符*levels[]
),会有什么不同吗?根据您的评论,这样声明实际上是不正确的(因为有人滥用数组作为指针)?
unsigned char *curr_level;
curr_level=malloc(sizeof(Level1)); /* Don't forget to call free() on it later */
memcpy(curr_level,levels[0],sizeof(Level1));