const * 和 * const

const *使用情况如下,会报出错误:warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]

 

 

  如果改成 *const,则没有错误。原因我认为是:常量指针不能作为右值进行赋值给非常量指针。

const是⼀个限定符,你给⾃⼰加上这个限定,不代表你可以给别⼈加上这个限定,因此如果别⼈不是指向const的指针,你就不能强迫别⼈也指向const。

 但是我要修改base指针指向的结构体成员,上述情况还是会报错。

 

 

所以不能定义一个常量指针,还得是一个变量指针。那么就要修改如下,直接把 const*改为 * const即可!!!

 

 

posted @ 2022-06-16 08:17  昆山皮皮虾  阅读(148)  评论(0编辑  收藏  举报