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*

 

posted @ 2018-08-29 08:31  aote369  阅读(1001)  评论(0编辑  收藏  举报