常量多维数组

6
在C语言中,我如何为全局多维数组添加const修饰符(或任何其他修饰符),以使变量和其所包含的值都是常量。
例如,我如何为以下数组添加const修饰符:
byte fruitIds[][2] = { { 0x01, 0x02}, {0x02, 0x03} }

因此,在任务结束时,您不能做到这一点:

fruitIds = vegetableIds;

或者是这样的:
fruitIds[0] = {0x02, 0x03};

或者这个:
fruitIds[0][0] = 0x02;
1个回答

8

数组已经是不可修改的左值。这意味着您需要将值设置为const

const byte fruitIds[][2] = { { 0x01, 0x02}, { 0x02, 0x03} };

你发帖中提到的这些任务:

fruitIds = vegetableIds;
fruitIds[0] = {0x02, 0x03};

现在这两种方式都是非法的。后者甚至不是有效的语法,但我试图使用前者时,clang返回一个只读变量不可分配的错误信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接