const是限定符,它把一个对象转化为一个常量。
const和define区别:
两者都可以用来定义常量,但是const定义时,还定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内联函数(Inline)。const和define定义的常量可以放在头文件里面。(小注:可以多次声明,但只能定义一次)
const使用:
- 修饰局部变量
const int x=10; int const x=10;
使用后x的值不会被修改
- 修饰常量静态字符串
const char* str="cheer"; char const *str="cheer";
char* const str="cheer";
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。 - 修饰全局变量
当const是全局变量,那被const修饰的对象在代码中不会再被修改。
4.修饰常量指针
const int *num;
int const *num;
1.const修饰指针时,不能通过指针的方式改变变量的值,但可以通过其他方式如引用改变变 量的值。
int x=10;
const int* n=&x;
x=100;
2.常量指针指向的值不能改变,但指针本身可以改变,可以指向其他地址。
int x=10;
int y=50;
const int* n=&x;
n=&y;
5.修饰指针常量
int *const num;
指针常量所指地址不能改变,但地址中保存的数值是可以改变的,可以通过其他指向该地址的指针修改。
int x=10;
int *n=&x;
int* const m=&x;
*n=50;
6.指向常量的常指针
const int* const num;
数值和地址都不能改变。
本文含有隐藏内容,请 开通VIP 后查看