const用法是什么?
导读:收集整理的这篇文章主要介绍了const用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。const用法是什么?const用法是:1. const的普通用法int const size;const int size;这两条语句都是...
收集整理的这篇文章主要介绍了const用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。const用法是什么?
const用法是:
1. const的普通用法
int const size;const int size;
这两条语句都是把size声明为一个整数,他的值不能被修改。
可以在声明的时候对他进行初始化,
int const size =10;
错误用法:
const int size =10;char buffer[size];
错误在于,size占用某内存块,C编译器不知道它在编译的值。并且,C默认const是外部连接的,所以写成const是可以的。
2.const用于指针
(1)
const int *p;int const *p; //含义是指向常量的指针,指针的常量值不可以修改
两者相同,p是一个指向整形常亮的指针,可以修改指针的值,但不能修改指针所指向的值。
int b = 5;int c = 3;const int *p=& b;*p=6; //错误,不能通过指针修改所指向的值;p=& c; //正确,可以修改指针的值
(2)
int * const p; //含义是常量指针,p的值不可以修改
p是一个指针,指针p是常量,它的值无法修改,但是可以修改p所指向的整型的值。
int b = 5;int c = 3;int *const p = & b; *p = 6; //正确,可以修改指针所值向的值p =& c; //错误,不可以修改指针的值
(3)
const int * const p;
无论是指针本身还是它所指向的值都是常量。
简单的判断的方法:
如果const在 * 的左侧,则const用来修饰指针所指向的变量,即指针指向位常量;
如果const位于 * 的右侧,则const就是修饰指针本身,即指针本身就是常量。
3.const用于函数的形参
void foo(const int * p)
const用于形参时说明了形参在函数内部不会被改变。这种形式通常用于数组形式的参数中模拟传值调用。这也是const最有用之处,限定函数的形参,这样该函数将不会修改实参指针所指向的数据。这里需要注意得的是,是函数不应该去修改而不是不能修改。
4.声明常量的其他方法
c语言中可以用enum类型和#define宏来定义常量
#define MAX_SIZE 10; int const max_size =10;
此处使用#define比使用const变量更好。
只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度。
const变量只能用于允许使用变量的地方。
推荐教程:《c视频教程》
以上就是const用法是什么?的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: const用法是什么?
本文地址: https://pptw.com/jishu/594334.html