C语言中,如何将使用const修饰的指针改写为一个长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计511个文字,预计阅读时间需要3分钟。
使用`const`修饰指针,表示指针指向的内容是不可变的。以下是简化的内容:
const修饰指针+1const修饰指针+(常量指针)常量指针的指针+constconst修饰的指针是*(指向常量的指针),不是*p(指针的值可以改变),指针指向的地址可以改变,但指向的值不能改变。
const修饰指针
1.const修饰指针 (常量指针)常量的指针
-
const int *p = &a;
-
const修饰的是*p(表示内容为常量),不是p(指针)
-
指针指向的地址可以改,但指针指向的值不可以改,这里是指向的值不可改是不能通过*p改,但是可以通过a改,
-
p = &b; (对)
-
* p = 20 (错)
-
-
2.const修饰常量 (指针常量)指针是常量
-
int * const p = &a;
-
const修饰的是p(表示指针是常量)
-
p指向的地址不可以改变,但是该地址内存放的内容可以改变
-
p = &b; (错)
-
* p = 20 (对)
-
-
3.const即修饰指针,又修饰常量
-
const int * const p = &a;
-
第一个const修饰 *p,第二个const修饰p
-
表示p指向的地址不可改,该地址内的内容也不可改
本文共计511个文字,预计阅读时间需要3分钟。
使用`const`修饰指针,表示指针指向的内容是不可变的。以下是简化的内容:
const修饰指针+1const修饰指针+(常量指针)常量指针的指针+constconst修饰的指针是*(指向常量的指针),不是*p(指针的值可以改变),指针指向的地址可以改变,但指向的值不能改变。
const修饰指针
1.const修饰指针 (常量指针)常量的指针
-
const int *p = &a;
-
const修饰的是*p(表示内容为常量),不是p(指针)
-
指针指向的地址可以改,但指针指向的值不可以改,这里是指向的值不可改是不能通过*p改,但是可以通过a改,
-
p = &b; (对)
-
* p = 20 (错)
-
-
2.const修饰常量 (指针常量)指针是常量
-
int * const p = &a;
-
const修饰的是p(表示指针是常量)
-
p指向的地址不可以改变,但是该地址内存放的内容可以改变
-
p = &b; (错)
-
* p = 20 (对)
-
-
3.const即修饰指针,又修饰常量
-
const int * const p = &a;
-
第一个const修饰 *p,第二个const修饰p
-
表示p指向的地址不可改,该地址内的内容也不可改

