关于 const char *ptr,char const *ptr,char *const ptr 的讨论
对于每个做C/C++的伙伴来说,面试中少不了关于const 的考察,尤其是对于刚毕业的新人。
今天听见同事在讨论这个问题,就随手写一下自己的理解。希望对大家又所帮助。
首先来说一下char *ptr:
const char *ptr,和char const *ptr作用一样,因为const 后修饰的都是 *ptr,也就是说 *ptr是常类型、不能修改,说白了就是不能通过*ptr修改值。可以直接通过str变量来修改str的值,但是确不能通过ptr指针来修改。
char *const ptr,const后修饰的是ptr,不能修改ptr指针,但是可以修改该指针指向的内容。