关于 const char *ptr,char const *ptr,char *const ptr 的讨论

时间:2022-06-16 20:55:44

  对于每个做C/C++的伙伴来说,面试中少不了关于const 的考察,尤其是对于刚毕业的新人。

今天听见同事在讨论这个问题,就随手写一下自己的理解。希望对大家又所帮助。

首先来说一下char *ptr:

          关于 const char *ptr,char const *ptr,char *const ptr 的讨论

const char *ptr,和char const *ptr作用一样,因为const 后修饰的都是 *ptr,也就是说 *ptr是常类型、不能修改,说白了就是不能通过*ptr修改值。可以直接通过str变量来修改str的值,但是确不能通过ptr指针来修改。

char *const ptr,const后修饰的是ptr,不能修改ptr指针,但是可以修改该指针指向的内容。