const的几种用法

1140阅读 0评论2018-03-18 Tay_linux
分类:LINUX

用法1const int a或者int const a

这两种用法的含义是一样的,都表示将a常量化,初始化后该值就不可以被修改。

const int a = 5;

a = 10;//非法,编译出错,向只读变量a赋值。

 

用法2const int *p或者int const *p

这两种用法的含义是一样的,表示*p不可以被修改,但是p可以被修改

int a = 4;

int b = 5;

const int *p = &a;

p = p + 5;//合法

*p = &b;非法

 

用法3int * const p

表示p是常量,不可以修改,但是*p可以被修改。

int * const p;

p = p + 1;//非法

*p = 8;//合法

 

用法4const int * const p

表示*p不可以被修改,p也不可以被修改

const int * const p;

p = p + 1;//非法

*p = 8;//非法

 

用法5:修饰函数参数

void *memcpy(void *dest, const void *src, size_t n);

表示*src不可以被修改

 

 

 

上一篇:printf控制输出
下一篇:bitset的用法