const char*和char* const的区别

Posted hustwx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const char*和char* const的区别相关的知识,希望对你有一定的参考价值。

const char*

1、字符串相对于指针是常量,但字符串本身不是常量

2、指针能够被重定向

int main(){
    char str1[] = "hello world";
    char str2[] = "ni hao";
    const char* ptr = str1;
    //ptr[0] = ‘H‘;//字符串相对于指针是常量
    str1[0] = H;//但字符串本身不是常量
    cout << str1 << endl;
    ptr = str2;//可以更改指针指向
    cout << ptr << endl;

    return 0;
}

char* const

1、指针不能够被重定向

 

int main(){
    char str1[] = "hello world";
    char str2[] = "ni hao";
    char* const ptr = str1;
    ptr[0] = H;
    cout << str1 << endl;
    str1[0] = h;
    //ptr = str2;//不可以更改指针指向
    cout << ptr << endl;
    return 0;
}

 

另外:char const*=const char*

 

以上是关于const char*和char* const的区别的主要内容,如果未能解决你的问题,请参考以下文章

深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p

深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**cons(示例

const char **,char *const *,char ** const

请问C语言如何把2个const char * const s1的字符串合并?

c++关于const char*的问题

const char*和char* const的区别