其实在接触这个的时候会比较混乱,所以就写一篇文章来整理下这个。
在英文中一个是const pointer to type,一个是pointer const to type。下面是这两种的例子
char a = 'a';
char b = 'b';
char* const y = &a;
这里可以通过指针来修改y指向的值,但不能让y再重新指向一个新的地址。
*y = 'c';//可行
y = &b;//会出现错误
另一种则是
char a = 'a';
char b = 'b';
const char* x = &a;
这一种他不可以修改值,但是指向可以改变。
x = &b;//可行
*x = 'c';//失败
还有一种则是上述两种的综合,值和指向都不改变,英文中则是const pointer to const type,如下:
const char* const z = &a;
大概内容就是这些,如果有其他问题到时候再进行修改,暂只做这些记录