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*

猜你喜欢

转载自www.cnblogs.com/hustwx/p/9552117.html