const char*和char*的区别
时间: 2023-09-02 10:11:56 浏览: 110
(const) char 转CString 详解(字符串类型转换详解,不断补充)
在C++中,`const char*`和`char*`都是指向字符数组的指针,但是它们的区别在于指针所指向的字符数组是否可以被修改。
`char*`是一个指向字符数组的指针,可以通过它来修改所指向的字符数组。例如:
```cpp
char str[] = "Hello World";
char* ptr = str; // ptr指向字符数组str
*ptr = 'h'; // str数组的第一个字符被修改为小写的'h'
```
而`const char*`是一个指向字符数组的指针,但是它指向的字符数组是只读的,不能通过它来修改所指向的字符数组。例如:
```cpp
const char* str = "Hello World";
char ch = *str; // 可以通过指针读取字符数组的内容
*str = 'h'; // 编译错误,不能通过指针修改字符数组的内容
```
因此,如果你不想修改指针所指向的字符数组,应该使用`const char*`类型的指针。
阅读全文