const的使用

2019-07-21 06:05发布

//我想在有一个数组
const uint8_t abc[10][10];
const uint8_t 123[10][10];



//B函数
void B(const uint8_t **p)
{
    uint8_t tmp;
    tmp = p[9][9];
    p[9][9] = p[0][0];
    p[0][0] = tmp;
}
//A函数
void A(void)
{
     B(abc);
}
就是类似于这样的代码,在调用B函数的时候,就会有一个警告,说是类型强制转换了(const uint8_t [][]不能转化位 const uint8_t **)
那我就想问了,B函数定义的时候,参数类型怎么定义才能没有这个警告呢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
brave_dancing
1楼-- · 2019-07-22 09:25
 精彩回答 2  元偷偷看……
d1z1y2
2楼-- · 2019-07-22 11:10
本帖最后由 d1z1y2 于 2019-1-8 22:13 编辑
brave_dancing 发表于 2019-1-8 09:19
你写的这个是一维数组,这个我知道用 char *就可以了,现在是二维数组,我想这char **就可以了,但是确实 ...

你确定二维数据的首地址是这么表示的?以上坛友的答案都正确的,你自己好好看看书

brave_dancing
3楼-- · 2019-07-22 16:00
d1z1y2 发表于 2019-1-8 22:12
你确定二维数据的首地址是这么表示的?以上坛友的答案都正确的,你自己好好看看书

我不确定啊,我要是确定我就不问了。我要是身边有书看我还来论坛干嘛,现在已经没在学校了。
wxjhby
4楼-- · 2019-07-22 16:55
不是说真的去买本书,网上电子版的多的是。你的问题的答案是什么不重要,因为随便翻哪本C语言的书都能解决。我劝你还是先放平心态,这种态度不是来解决问题的。你要是觉得我说错了,就当我放了个P就好。
brave_dancing
5楼-- · 2019-07-22 21:51
wxjhby 发表于 2019-1-9 09:38
不是说真的去买本书,网上电子版的多的是。你的问题的答案是什么不重要,因为随便翻哪本C语言的书都能解决 ...

哥哥,我心态很好,我就是想要一个答案,不是找人教我怎么去找答案。我想说的是,对我来说,我就是想要一个答案而已,真的要是翻书就可以解决,我不就去了。现在我想知道,char[][];到底能不能赋值给char**p;我个人觉得能,但是编译器却出错了,我加了强制类型转换,结果运行出现硬件错误中断死机。实际问题请看#9
d1z1y2
6楼-- · 2019-07-23 00:14
 精彩回答 2  元偷偷看……

一周热门 更多>