const int * p1 和 int* const p2的区别
时间: 2023-08-05 09:06:04 浏览: 171
C中const和C++中const区别
4星 · 用户满意度95%
`const int* p1` 和 `int* const p2` 都是指针类型,但是它们的含义不同。
- `const int* p1` 表示指向常量整型的指针,即指针指向的值不能被修改,但是指针本身可以被修改。例如,`p1` 可以指向不同的 `const int` 类型的变量,但是不能通过 `p1` 来修改所指向的值。可以用以下方式定义 `p1`:
```
const int* p1;
```
- `int* const p2` 表示指向整型的常量指针,即指针本身不能被修改,但是指针指向的值可以被修改。例如,`p2` 指向的变量可以被修改,但是 `p2` 本身不能指向其他变量。可以用以下方式定义 `p2`:
```
int x = 10;
int* const p2 = &x;
```
需要注意的是,`const` 关键字可以放在 `*` 的左边或右边,表示不同的含义。如果放在左边,表示指向常量的指针;如果放在右边,表示常量指针。
阅读全文