您的位置:首页 > 其它

关于不能将char** 类型转化为 const char**

2015-06-24 22:01 176 查看
对于二级指针来说,不能将char** 类型转化为const char** 类型。

const char x = 31;
char y = 41;
char *q = &y;



&x的类型显然为 const char *, &q的类型是char **, 假设能将char **类型转化为 const char **, 那么可以另外定义一个变量:

const char** p = &q;
由于*p的类型是 const char *, 与&x的类型相同, 那么这样

*p = &x;
于是,即 q == &x,而q 的类型只是char*, 那么便可以通过 *p = 61; 来修改x的值。但是x 本身是const 类型的。

所以解决这个矛盾, 可以将 char ** 类型转化为 char* const * 类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: