const和指针的故事

简介: const和指针的故事

   const是变量变常量?如果你认为仅仅如此,那你就大错特错了,const名叫常量限定符,用于限定变量的,修饰变量后,编译器就无法修改了。

   现在讲讲它与指针之间的用法:修饰指针

int b=10;
int a=15;
第一种
const int* p=&b;
*p=20;    //error  不可以修改变量的值
p=&a;     //ok  可以改变指针值向别的常量
第二种
int* const p=&b;
*p=20;    //OK  可以修改变量的值
p=&a;     //error  不可以改变指针值向别的常量


第一种是常量指针

       当为常量指针,不可以通过修改变量的值,但是可以让指针指向别的变量。

第二种是指针常量

       无法指向别的变量,但是可以通过指针修改它所指向的变量的值。

总结:如果const位于*的左边,则const修饰指针指向的变量,值无法修改                                                   如果const位于*的右边,则const修饰指针的本身,指针不可以移动


口诀:左定值,右定向,const修饰不变量


小提示:可以再想想const和哪些又有什么有趣的联系呢?

目录
相关文章
|
6月前
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
76 2
|
3月前
|
编译器
【Bug记录】C2662:不能将this指针从const转换为非const
【Bug记录】C2662:不能将this指针从const转换为非const
|
4月前
const修饰指针
const修饰指针
23 0
|
6月前
|
安全 编译器 C语言
深入了解C++:形参、内联、重载、引用、const和指针、new和delete
深入了解C++:形参、内联、重载、引用、const和指针、new和delete
39 1
|
6月前
|
存储 C语言
【C语言】const修饰指针的不同作用
【C语言】const修饰指针的不同作用
47 0
|
6月前
|
存储 C语言 索引
指针详解(const、指针运算、数组名的理解、传址调用和传值调用、一维数组的本质​)(一)
指针详解(const、指针运算、数组名的理解、传址调用和传值调用、一维数组的本质​)(一)
|
6月前
|
编译器 C++
C++ 中 const 和 constexpr 关键字解析:常量、函数和指针
很多 C++ 的初学者看到 const 这个关键字的第一反应都是一头雾水,主要是因为 const可 以出现在很多的位置,以及后面加入的 constexpr 更是常常感到困惑,今天就为大家一一解释出现它们的含义和以及作用
178 0
|
11月前
|
C++
C++中const和指针的搭配使用
C++中const和指针的搭配使用
37 0
|
11月前
|
编译器 C++
const修饰的变量通过指针修改的问题
const修饰的变量通过指针修改的问题
85 0
趣味讲解const修饰指针变量
趣味讲解const修饰指针变量
53 0