C语言中const的用法

C语言中,被const限定的变量是不允许被改变的,即修饰一个不可变的变量,属于只读变量。

1、与常量的区别:

常量在程序编译过程中没有分配内存,自然不能够改变常量的值。而只读变量则在内存中分配的有地址,只不过这个值由编译器限定不允许被修改。const用来限定一个变量不允许被改变的修饰符。

2、const和指针:

const int nvalue;//nvalue是const
const char *pcontent;//*pcontent是const,pcontent可变
const (char*)pcontent;//pcontent是const,*pcontent可变
char* const pcontent;//pcontent是const,*pcontent可变
const char * const pcontent;//pcontent和*pcontent都是const
 
上述声明分别于以下const在后面的声明等价:
 
int const nvalue;//nvalue是const
char const *pcontent;//*pcontent是const,pcontent可变
(char *)const pcontent;//pcontent是const,*pcontent可变
char*const pcontent;//pcontent是const,*pcontent可变
char const* const pcontent;//pcontent和*pcontent都是const
 
判断原则:沿着*号划一条线,如果const位于*的左侧,则const用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,则const用来修饰指针本身,即指针本身是常量。
 
以上为const较常用的最简单的用法。
永不止步步 发表于12-06 10:11 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363791个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号